Fórmula do Excel: Referência dinâmica Nome da tabela -

Índice

Fórmula genérica

=SUM(INDIRECT(table&"(column)"))

Resumo

Para construir uma fórmula com uma referência dinâmica a um nome de Tabela do Excel, você pode usar a função INDIRETO com concatenação conforme necessário. No exemplo mostrado, a fórmula em L5 é:

=SUM(INDIRECT(K5&"(Amount)"))

Que retorna a soma dos valores para três tabelas denominadas "Oeste", "Central" e "Leste".

Explicação

Esta fórmula se comporta como estas fórmulas mais simples:

=SUM(West(Amount)) =SUM(Central(Amount)) =SUM(East(Amount))

No entanto, em vez de codificar a tabela em cada fórmula SUM, os nomes das tabelas são listados na coluna K e as fórmulas na coluna L usam concatenação para montar uma referência para cada tabela. Isso permite que a mesma fórmula seja usada em L5: L7.

O truque é a função INDIRETA para avaliar a referência. Começamos com:

=SUM(INDIRECT(K5&"(Amount)"))

que se torna:

=SUM(INDIRECT("West"&"(Amount)"))

e depois:

=SUM(INDIRECT("West(Amount)"))

A função INDIRETA então resolve a string de texto em uma referência estruturada adequada:

=SUM(West(Amount))

E a função SUM retorna o resultado final, 27.500 para a região Oeste.

Nota: INDIRETO é uma função volátil e pode causar problemas de desempenho em pastas de trabalho maiores e mais complexas.

Artigos interessantes...