Referencia dinamicamente uma coluna de tabela nomeada (via conteúdo da célula) no Excel

10

Como faço referência a uma coluna da tabela do Excel dinamicamente no Excel 2007? Eu quero referenciar uma coluna nomeada de uma tabela nomeada e a coluna referenciada irá variar com o valor de uma célula.

Eu tenho uma tabela no Excel (vamos chamá-la de Tabela1 ). Eu quero referenciar uma de suas colunas e COUNT thenumbers nessa coluna. Eu quero identificar a coluna referenciada dinamicamente de um valor em outra célula ( A1 ) para que eu consiga o seguinte resultado: Quando altero A1 , a fórmula que conta Tabela1 [ DynamicallyReferencedColumnName ] é atualizada para a nova referência.

Exemplo:

  • Se A1 = names , a fórmula será igual a COUNT(Table1[names]) .
  • Se A1 = lastname , a fórmula será igual a COUNT(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?

P.S. Eu encontrei este documento MSDN que pode ser relevante: Recálculo do Excel .

    
por rcphq 13.08.2012 / 16:46

4 respostas

9

Você quase teve com INDIRECT() , mas sua lógica estava um pouco errada. Tente isso:

=COUNT(INDIRECT("Table1["&A1&"]"))

A chave para lembrar é que INDIRECT() só recebe texto (ou seja, uma string) para o primeiro argumento. Assim, você tem que passar todas as partes da referência da tabela para a função como texto.

    
por 13.08.2012 / 20:25
12

Usar o método INDIRECT funciona, mas é melhor evitá-lo sempre que possível, pois é uma função volátil e pode ter um impacto computacional enorme na sua planilha.

Uma alternativa não volátil que realiza o que você quer é usar INDEX / MATCH

COUNT(INDEX(Table1, 0, MATCH($A$1, Table1[#Headers], 0)))

-Tim

    
por 06.02.2014 / 18:53
2

primeiro passo configurar uma célula de texto que contenha o nome da coluna que você deseja referenciar (digamos $ A $ 1) $ A $ 1 contém "Column2", por exemplo.

depois, para encontrar a contagem da coluna à qual $ A $ 1 se refere seria = Contagem (indireta ("Tabela1 [" & $ a $ 1 & "]"))

este método indireto pode ser usado para construir todas as partes da referência da tabela e pode, por exemplo, também 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, qualquer alteração no número de colunas na tabela de quaisquer alterações nos títulos do cabeçalho será selecionada.

    
por 01.07.2013 / 00:14
0

Aqui está um artigo muito bom sobre referências estruturadas no Excel. Parece que isso funciona de forma um pouco diferente no Excel 2010 do que no Excel 2007.

Usando referências estruturadas com tabelas do Excel

Basicamente, você fará referência à tabela e, em seguida, à coluna na tabela.

Neste exemplo, você pode fazer referência à Tabela 1, Coluna 1, da seguinte forma:

=COUNT(Table1[Column1])

Você pode nomear as colunas de cabeçalho em sua tabela. Se eu renomei Coluna1 para Vendas, a fórmula se tornará:

=COUNT(Table1[Sales])
    
por 13.08.2012 / 19:52