Às vezes você precisa que uma referência mude com base em um valor de célula — referenciar a aba "Janeiro" ou "Fevereiro" dependendo do mês selecionado, ou criar um intervalo que cresce automaticamente. DESLOC e INDIRETO são as ferramentas para isso.
INDIRETO: referência a partir de texto
=INDIRETO(ref_texto; [a1])
Converte um texto que representa um endereço em uma referência real.
Exemplo: se A1 contém o texto "B5", =INDIRETO(A1) retorna o valor da célula B5.
Referenciar planilhas por nome dinamicamente
Se C1 contém o nome do mês ("Janeiro"), você pode buscar a célula B10 da aba com esse nome:
=INDIRETO("'" & C1 & "'!B10")
Mude C1 para "Fevereiro" e a fórmula automaticamente referencia a aba Fevereiro.
Criar listas dependentes com validação de dados
Se você tem nomes de intervalos chamados "Frutas" e "Verduras", e a célula A2 tem uma lista suspensa com "Frutas" ou "Verduras", use =INDIRETO(A2) como fonte da segunda lista suspensa.
DESLOC: deslocando a partir de uma célula de referência
=DESLOC(ref; linhas; colunas; [altura]; [largura])
- ref: a célula de ponto de partida
- linhas/colunas: quantas linhas/colunas mover (pode ser negativo)
- altura/largura: tamanho do intervalo retornado (opcional)
Exemplo: SOMA dinâmica dos últimos N meses
Se os dados mensais estão em B2:B25 e o mês atual está na coluna baseado em um número em E1:
=SOMA(DESLOC(B2; 0; 0; E1; 1))
Retorna a soma das primeiras E1 linhas a partir de B2.
Intervalo dinâmico para Tabela Dinâmica
Defina um nome de intervalo que usa DESLOC para expandir automaticamente:
=DESLOC(Dados!$A$1; 0; 0;
CONT.VALORES(Dados!$A:$A);
CONT.VALORES(Dados!$1:$1))
Esse intervalo cresce automaticamente quando novas linhas e colunas são adicionadas aos dados.
Cuidados com performance
DESLOC e INDIRETO são funções voláteis — recalculam toda vez que qualquer célula do arquivo muda, mesmo sem relação com elas. Em arquivos grandes, prefira Tabelas Inteligentes (Ctrl+T) para intervalos dinâmicos ou as novas funções de array dinâmico (FILTRAR, etc.).
Perguntas frequentes
INDIRETO funciona com referências em outros arquivos abertos?
Sim, mas apenas quando o arquivo referenciado está aberto. Se o arquivo externo estiver fechado, INDIRETO retorna #REF!.
Posso usar DESLOC dentro de SOMA para criar uma média móvel?
Sim: =MÉDIA(DESLOC(B2; LINHA()-LINHA($B$2)-2; 0; 3; 1)) calcula a média dos 3 valores anteriores ao longo de uma coluna.