Você pode estar acostumado a usar referências de células no Excel, mas sabia que poderia dar um passo além e criar suas próprias referências de células? É aqui que a função INDIRETO se torna útil.
O que a função INDIRETA faz?
A função INDIRETO do Excel transforma uma string de texto em uma referência. Esta função tem vários benefícios práticos:
- Ele permite que você crie referências dinâmicas. Por exemplo, você pode alterar uma referência a uma célula dentro de uma fórmula sem alterar a fórmula em si.
- A função INDIRETO é uma ótima maneira de criar links entre planilhas de uma pasta de trabalho.
- Você pode usar informações que já possui em sua planilha para criar uma referência.
- A referência criada usando a função INDIRETO permanecerá a mesma, mesmo que a estrutura da sua planilha mude.
A Sintaxe INDIRETA
Por padrão, as referências no Excel usam o estilo de referência A1, o que significa que se refere primeiro à coluna e depois ao número da linha. No entanto, a função INDIRETO permite alterná-los.
Essa ordem invertida é conhecida como estilo de referência R1C1, onde o “R” se refere a uma linha e o “C” se refere a uma coluna. Por este motivo, a função INDIRETO contém dois argumentos. Aqui está a sintaxe:
=INDIRECT(x,y)
onde x é o texto de referência, e sim (opcional) é o estilo de referência.
Mais especificamente, x (o texto de referência) pode ser uma referência no estilo A1, uma referência no estilo R1C1, um nome predefinido ou uma referência de célula. Se x refere-se a outra pasta de trabalho, essa segunda pasta de trabalho deve estar aberta. Também é importante notar que você não poderá fazer referência a outra pasta de trabalho se estiver usando o Excel para a Web.
sim (o estilo de referência) é um argumento opcional. Se você optar por não incluir esse argumento, o Excel usará automaticamente a referência padrão no estilo A1, embora você também possa digitar verdadeiro aqui para forçar o Excel a usar esse estilo de referência. Digitando FALSO dirá ao Excel para usar o estilo de referência R1C1.
Neste artigo, usarei referências no estilo A1 para mostrar como funciona a função INDIRETO. Depois de compreender seus conceitos, você poderá experimentar o uso de referências no estilo R1C1.
O resultado da função INDIRETO é uma referência.
Coisas a ter em mente antes de usar a função INDIRETA
Existem algumas coisas que você deve saber antes de começar a trabalhar com INDIRETO em sua planilha:
- Esta é uma função volátil, o que significa que está constantemente tentando ser atualizada. Usar esta função em uma planilha grande pode resultar em lentidão ou até mesmo disfuncional.
- Para fazer uso completo da função INDIRETO, você se beneficiaria primeiro sabendo como criar referências nomeadas no Excel.
- O operador E comercial (&) é uma ótima maneira de criar uma string de texto que pode ser usada como referência.
Como usar a função INDIRETO
Para que você possa entender como usar o INDIRETO na prática, vamos ver como ele funciona em sua forma mais básica.
Exemplos Básicos
Neste exemplo, digitando
=INDIRECT(A1)
na célula B2 transforma a célula A1 em uma referência à célula D1. É por isso que o resultado é 5.
Neste exemplo, digitando
=SUM(INDIRECT(A2))
na célula B2 primeiro transforma A2 em uma referência de célula e, em seguida, soma as células nessa referência. Isso ocorre porque a função INDIRETO está incorporada na função SUM.
Agora, vamos usar a função INDIRETA para fazer referência a uma célula em outra planilha. A célula A1 da Planilha2 contém o número 100 e queremos criar uma referência INDIRETA para essa célula na planilha atual. Primeiro, precisamos digitar Folha2!A1 na célula A3, e então precisamos transformar isso em uma referência usando a função INDIRETO digitando
=INDIRECT(A3)
na célula B3.
No entanto, podemos tornar isso muito mais fácil usando uma referência nomeada. Por exemplo, se renomeássemos a célula A1 da Planilha2 TOTALpoderíamos usar isso em nossa referência INDIRETA. Isso é particularmente útil se você estiver criando uma referência para outra planilha, pois ajuda a evitar a necessidade de lembrar o ponto de exclamação na sintaxe. Além disso, se o nome da sua planilha mudar, a referência INDIRETA não se adaptará a essa mudança, portanto, usar uma referência nomeada é uma alternativa mais segura e permanente.
Exemplo 1 do mundo real
Agora que entendemos como o INDIRETO funciona, vamos explorar como podemos usá-lo para fazer nossas planilhas funcionarem no mundo real.
Como costuma acontecer no Excel, há mais de uma maneira de obter o mesmo resultado. Por exemplo, você poderia incluir a função TAKE para tornar o processo a seguir ainda mais dinâmico. Porém, nosso objetivo aqui é exemplificar o uso da função INDIRETO, para que você possa então seguir em frente e utilizá-la do seu jeito.
Aqui, estamos monitorando o número de gols que um time de futebol marca em cada jogo e queremos calcular a média dos três jogos anteriores.
Primeiro, usaremos a função COUNT para calcular quantos jogos o time disputou até agora. Digitando
=COUNT(B:B)
na célula E1 contará o número total de células na coluna B contendo números, informando-nos assim quantos jogos foram disputados.
Agora estamos prontos para usar a função INDIRETO para transformar os dados da célula E1 em uma referência. Neste ponto, nosso objetivo é encontrar a média dos valores nas células B6 a B8. Veja como a função INDIRETO nos ajudará a fazer isso. Comece digitando
=AVERAGE(INDIRECT
na célula E2, porque estamos dizendo ao Excel que queremos encontrar uma média e também estamos usando a função INDIRETO para dizer ao Excel onde procurar para calcular essa média.
A primeira célula que referenciaremos em nosso cálculo MÉDIA é B8, então adicionaremos
=AVERAGE(INDIRECT("B"&E1)
à nossa fórmula. Observe como usamos aspas ao redor da referência da coluna, pois estamos usando esse texto para criar uma referência de célula.
A próxima célula que referenciaremos em nosso cálculo MÉDIA é B7, que está uma célula acima de B8. Então, adicionando
=AVERAGE(INDIRECT("B"&E1),INDIRECT("B"&E1-1)
à nossa fórmula significa que o Excel criará uma referência de célula que começa na coluna B e depois menos 1 do valor em E1.
Finalmente, queremos fazer referência à célula B6, que está duas células acima de B8 em nosso cálculo MÉDIA, e então adicionar o parêntese de fechamento:
=AVERAGE(INDIRECT("B"&E1),INDIRECT("B"&E1-1),INDIRECT("B"&E1-2))
Isso calcula corretamente a média de 3, 1 e 1, que é o número total de gols marcados nos últimos três jogos.
Agora, quando adicionarmos mais dados na coluna B, o valor na célula E1 aumentará, pois a função COUNT reconhece que há mais valores na coluna B, e as referências INDIRETAS serão atualizadas de acordo para capturar sempre os três últimos valores em nossa MÉDIA fórmula. Tudo isso acontece sem a necessidade de alterar a fórmula que digitamos na célula E2.
Exemplo 2 do mundo real
Vejamos mais um exemplo. Desta vez, usaremos referências nomeadas para que possamos usar INDIRETO com a função VLOOKUP do Excel.
Queremos que o Excel nos diga quanto dinheiro cada um dos quatro indivíduos ganhou na semana 1 ou na semana 2, com a opção de alterar o número da semana, se necessário.
Para começar, precisamos nomear as células B1 a C5 como “semana_1” e as células B7 a B11 como “semana_2”. Então, na célula G2, digitaremos
=VLOOKUP(E2,INDIRECT("week_"&F2),2,0)
porque queremos que o Excel procure o valor de Tom no intervalo que chamamos de “semana_1” e retorne o valor correspondente na segunda coluna desse intervalo como uma correspondência exata.
Podemos então usar o identificador de preenchimento para completar os dados dos outros três indivíduos, sabendo que as referências que criamos são relativas às suas respectivas linhas e também seguras devido ao uso de referências nomeadas.
Então, quaisquer alterações nos valores nas colunas C ou F seriam automaticamente aplicadas à fórmula que acabamos de escrever.
Para completar o processo de tornar sua planilha totalmente dinâmica e organizada, você pode adicionar menus suspensos usando a ferramenta Validação de Dados do Excel. No exemplo acima, você poderia ter os nomes dos indivíduos acessíveis através de um menu suspenso, de modo que a tabela de pesquisa ocupasse apenas uma única linha.