Como faço para referenciar uma coluna da tabela do Excel dinamicamente no Excel 2007? Quero referenciar uma coluna nomeada de uma tabela nomeada e a coluna referenciada variará com o valor de uma célula.
Eu tenho uma tabela no Excel (vamos chamá-la Tabela1 ). Eu quero referenciar uma de suas colunas e COUNT
os números nessa coluna. Desejo identificar a coluna referenciada dinamicamente a partir de um valor em outra célula ( A1
) para que eu possa obter o seguinte resultado: Quando altero A1
, a fórmula que conta a Tabela1 [ DynamicallyReferencedColumnName ] é atualizada para a nova referência.
Exemplo:
- Se
A1
=names
, a fórmula seria igualCOUNT(Table1[names])
. - Se
A1
=lastname
, a fórmula seria igualCOUNT(Table1[lastname])
.
Eu tentei usar =COUNT(Table1[INDIRECT("$A$1")])
, mas o Excel diz que a fórmula contém um erro.
Como posso fazer isso?
PS: Encontrei este documento do MSDN que pode ser relevante: Recálculo do Excel .
Respostas:
Você quase conseguiu
INDIRECT()
, mas sua lógica estava um pouco errada. Tente isso:A chave a lembrar é que
INDIRECT()
somente o texto (ou seja, uma string) recebe o primeiro argumento. Portanto, você deve passar todas as partes da referência da tabela para a função como texto.fonte
O uso do método INDIRECT funciona, mas é melhor evitar sempre que possível, pois é uma função volátil e pode ter um enorme impacto computacional em sua planilha.
Uma alternativa não volátil que realiza o que você deseja é usar INDEX / MATCH
-Tim
fonte
primeira etapa, configure uma célula de texto que contenha o nome da coluna que você deseja referenciar (por exemplo, $ A $ 1) $ A $ 1 contém "Coluna2", por exemplo.
para encontrar a contagem da coluna à qual $ A $ 1 se refere seria = Count (indireta ("Tabela1 [" & $ a $ 1 & "]"))
esse método indireto pode ser usado para construir todas as partes da referência da tabela e, por exemplo, também pode ser organizado para procurar em tabelas diferentes
dica. se a célula $ a $ 1 for validada como lista suspensa que aponta para os cabeçalhos da tabela única, quaisquer alterações no número de colunas na tabela de quaisquer alterações nos títulos do cabeçalho serão selecionadas.
fonte
A1
. O OP já fez isso, e diz isso na pergunta. (2) O segundo passo é uma cópia exata da resposta de Excellll . (4) ConfigurarA1
como uma lista suspensa dos nomes de colunas válidos parece uma boa ideia, mas não entendo o restante do último parágrafo da resposta.Aqui está um artigo muito bom sobre referências estruturadas no Excel. Parece que isso funciona de maneira um pouco diferente no Excel 2010 e no Excel 2007.
Usando referências estruturadas com tabelas do Excel
Basicamente, você fará referência à tabela e depois à coluna dentro da tabela.
Neste exemplo, você pode fazer referência à Tabela 1 da Coluna 1 assim:
Você pode nomear as colunas do cabeçalho na sua tabela. Se eu renomeie a Coluna1 para Vendas, a fórmula se tornará:
fonte
=COUNT(Table1[A1])
Onde A1 é a célula que eu quero para conter o columnname