Use a função INDIRECT em fórmulas do Excel para alterar o intervalo de referências de células usadas em uma fórmula sem precisar editar a própria fórmula. Isso garante que as mesmas células sejam usadas, mesmo quando sua planilha for alterada.
Nota: As instruções neste artigo se aplicam ao Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel para Mac e Excel Online.
Use um intervalo dinâmico com a fórmula COUNTIF - INDIRECT
A função INDIRECT pode ser usada com várias funções que aceitam uma referência de célula como um argumento, como as funções SUM e COUNTIF.
Usando INDIRECT como o argumento para COUNTIF cria um intervalo dinâmico de referências de célula que pode ser contado pela função se os valores da célula atenderem a um critério. Ele faz isso transformando dados de texto, às vezes chamados de string de texto, em uma referência de célula.
Este exemplo é baseado nos dados mostrados na imagem acima. A fórmula COUNTIF - INDIRECT criada no tutorial é:
= COUNTIF (INDIRETO (E1 & ":" & E2), "> 10")
Nesta fórmula, o argumento para a função INDIRECT contém:
- As referências de célula E1 e E2, que contêm os dados de texto D1 e D6.
- O operador de faixa, o cólon (:) rodeado por aspas duplas (' ') que transforma o cólon em uma string de texto.
- Dois e comercial (&) que são usados para concatenar ou unir, os dois pontos com as referências de célula E1 e E2.
O resultado é que INDIRECT converte a cadeia de texto D1: D6 em uma referência de célula e a transmite para a função COUNTIF a ser contada se as células referenciadas forem maiores que 10.
A função INDIRECT aceita qualquer entrada de texto. Essas podem ser células na planilha que contêm referências de texto ou célula de texto inseridas diretamente na função.
Alterar dinamicamente o alcance da fórmula
Lembre-se, o objetivo é criar uma fórmula com um intervalo dinâmico. Um intervalo dinâmico pode ser alterado sem editar a própria fórmula.
Alterando os dados de texto localizados nas células E1 e E2, de D1 e D6 para D3 e D7, o intervalo totalizado pela função pode ser facilmente alterado de D1: D6 para D3: D7. Isso elimina a necessidade de editar diretamente a fórmula na célula G1.
A função COUNTIF neste exemplo só conta células contendo números se eles forem maiores que 10. Mesmo que quatro das cinco células no intervalo de D1: D6 contenham dados, somente três células contêm números. Células que estão em branco ou contêm dados de texto são ignoradas pela função.
Contando texto com COUNTIF
A função COUNTIF não se limita a contar dados numéricos. Também conta as células que contêm texto, verificando se elas correspondem a um determinado texto.
Para fazer isso, a seguinte fórmula é inserida na célula G2:
= COUNTIF (INDIRETO (E1 & ":" & E2), "dois")
Nesta fórmula, a função INDIRECTO faz referência às células B1 a B6. A função COUNTIF totaliza o número de células que possuem o valor de texto dois neles.
Nesse caso, o resultado é 1.
COUNTA, COUNTBLANK e INDIRECT
Duas outras funções de contagem do Excel são COUNTA, que conta células contendo qualquer tipo de dados, ignorando apenas células vazias ou vazias, e COUNTBLANK, que conta apenas células vazias ou vazias em um intervalo.
Como essas duas funções têm sintaxe semelhante à função COUNTIF, elas podem ser substituídas no exemplo acima por INDIRECT para criar as seguintes fórmulas:
= COUNTA (INDIRETO (E1 & ":" & E2))= COUNTBLANK (INDIRETO (E1 & ":" & E2)
Para o intervalo D1: D6, COUNTA retorna uma resposta de 4, pois quatro das cinco células contêm dados. COUNTBLANK retorna uma resposta de 1, pois há apenas uma célula em branco no intervalo. O benefício de usar a função INDIRECT em todas essas fórmulas é que novas células podem ser inseridas em qualquer lugar no intervalo. O intervalo muda dinamicamente dentro das várias funções e os resultados são atualizados de acordo. Sem a função INDIRETO, todas as funções precisariam ser editadas para incluir todas as 7 células, incluindo a nova. Os benefícios da função INDIRECT são que os valores de texto podem ser inseridos como referências de célula e que atualiza dinamicamente os intervalos sempre que a planilha for alterada. Isso facilita muito a manutenção geral de planilhas, especialmente para planilhas muito grandes. Por que usar uma função indireta?