MS Excel: Como trabalhar com uma coluna escolhida por valor no cabeçalho (row1)

2

Estou importando um grande conjunto de dados de um site e quero criar algumas estatísticas de resumo em uma nova planilha. A ordem das colunas não é fixa, por isso quero poder (por exemplo) contar todas as células com o valor de "1" na coluna com cabeçalho "prioridade". Eu sei que MATCH("Priority", 1:1) vai me dar o número da coluna, mas como eu uso isso em uma fórmula COUNT ?

    
por Justin 02.10.2012 / 21:19

2 respostas

3

Minha resposta:

=COUNTIF(OFFSET($A:$A,0,MATCH("Priority",1:1)-1),1)

Agora, explique:

Offset($A:$A,0,X) retorna a coluna inteira começando com o primeiro deslocamento por X , onde nestas situações X = MATCH("Priority",1:1) - 1 .

Como MATCH("Priority",1:1) retorna o número da coluna, devemos subtrair 1 para obter o deslocamento correto.

Em seguida, o último bit ,1) indica que estamos procurando o valor de 1.

Espero que esteja suficientemente claro para que você possa fazer o resto que você precisa.

Caso contrário, tudo o que você precisa fazer é trocar "Priority" com o que você quer pesquisar, e o último 1 com o que você está procurando, e isso deve retornar a contagem.

Apenas por diversão, isso também funcionaria:

=COUNTIF(INDEX(1:1048576,0,MATCH("Priority",1:1)),1)
    
por 02.10.2012 / 21:46
2

Aqui está uma maneira desordenada de fazer isso, que envolve as fórmulas ADDRESS e INDIRECT (dados de amostra supostamente em A1:B6 :

=COUNTIF(
    INDIRECT(SUBSTITUTE(ADDRESS(1,MATCH("Priority",1:1,0),4),"1","") & ":" &
             SUBSTITUTE(ADDRESS(1,MATCH("Priority",1:1,0),4),"1","")),
    1)

Basicamente, o que ele faz é encontrar a coluna correspondente Priority em seus cabeçalhos (aqui é a coluna B ), localiza o ADDRESS (nesse caso, B1 ), converte o número da coluna em uma letra ( SUBSTITUTE ) e, em seguida, converte-o em um intervalo real ( INDIRECT ).

    
por 02.10.2012 / 21:45