Fórmula do Excel: Incremente a referência da célula com INDIRETO -

Índice

Fórmula genérica

=INDIRECT(sheet&"!"&CELL("address",A1))

Resumo

Para incrementar uma referência criada como texto dentro da função INDIRETO, você pode usar a função CELL. No exemplo mostrado, a fórmula em D5 é:

=INDIRECT($B$5&"!"&CELL("address",A1))

Que aumenta à medida que a fórmula é copiada.

Explicação

Considere uma referência dinâmica simples para a Planilha2 usando o INDIRETO em uma fórmula como esta:

=INDIRECT($B$5&"!"&"A1"))

Se mudarmos o nome da folha em B5 para outro nome (válido), INDIRECT retornará uma referência a A1 na nova folha.

No entanto, se copiarmos esta fórmula na coluna, a referência a A1 não mudará, porque "A1" está codificado como texto.

Para resolver este problema, usamos a função CELL para gerar uma referência de texto a partir de uma referência de célula regular:

CELL("address",A1)

Com "endereço" como primeiro argumento e A1 como segundo argumento, a função CELL retorna uma string como "$ A $ 1". Como A1 é uma referência de célula regular, ela aumentará normalmente conforme a fórmula é copiada para baixo na coluna. O resultado em D5: D9 é uma série de fórmulas como esta:

=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")

Em cada caso, INDIRECT resolve cada string de texto para uma referência e o Excel retorna o valor na célula fornecida na Planilha2.

Nota: INDIRETO e CÉLULA são funções voláteis e recalculam a cada alteração da planilha. Isso pode causar problemas de desempenho em planilhas mais complexas.

Artigos interessantes...