Contagem da primeira ocorrência de um critério com base em um segundo critério

3

Estou tentando escrever uma fórmula do Excel (ou fórmulas) para contar a primeira ocorrência de um valor em um determinado ano para cada Pessoa na minha tabela. Eu procurei por questões relacionadas no Superuser sem sucesso. Para lhe dar algum contexto, cada Pessoa participou em um ou mais anos em um exame. Durante cada ano de exame, eles receberam uma ou mais pontuações (valores de 1 a 9 na tabela). Por exemplo, a Pessoa A teve dois escores (5,3) em 2011, um escore (2) em 2012 e dois escores (4,1) em 2013. No entanto, estou interessado apenas em contabilizar quantos anos cada Pessoa participou e eu não ligo para quais anos eles foram. Meus dados seguem:

Person  2011    2012    2013
A       5       
A       3                       
A               2
A                       4
A                       1               
B       7                       
B                       6               
C       1                       
C       9                       
C               4                   
C               2                   
D       5                       

Este é o resultado que eu quero:

Person  Years                       
A       3                       
B       2                       
C       2                       
D       1       

Eu tentei muitas maneiras complicadas / ineficientes para alcançar esse resultado usando uma combinação de SUM, COUNTIFS e VLOOKUP, mas sempre contou todos os valores e não a primeira ocorrência de um valor em um determinado ano. Eu simplesmente não consigo descobrir como fazer isso ou se é possível usar as funções do Excel. Eu não conheço o VBA, mas suspeito que possa ser necessário para isso. Agradecemos antecipadamente por sua ajuda.

    
por Dre 17.01.2014 / 16:43

2 respostas

3

Parece um trabalho para tabela dinâmica !

Realce sua tabela e vá para Inserir → tabela dinâmica e organize como quiser. Eu faria o seguinte -

    
por 17.01.2014 / 17:13
1

Graças ao comentário de Raystafarian, posso fornecer uma resposta detalhada à minha própria pergunta. Usando uma tabela dinâmica, seleciono todo o meu intervalo de tabela. Na caixa de diálogo Lista de Campos da Tabela Dinâmica, adiciono Pessoa ao relatório e arraste todos os anos (ou seja, 2011, 2012, 2013) para o campo Valores . Fazer isso me dá esse resultado inicial:

Row Labels     Count of 2011    Count of 2012   Count of 2013
A              2                1               2
B              1                                1
C              2                2   
D              1        
Grand Total    6                3               3

Isso é fantástico, pois não só me permite contar o número de valores por linha, indicando quantos anos cada participante participou, mas também me informa quantas pontuações foram dadas por ano para cada pessoa.

Então, na minha etapa final, simplesmente adiciono a fórmula =COUNT(B2:D2) na célula E2, em que Coluna A = Rótulos de Linha, Coluna B = Contagem de 2011, Coluna C = Contagem de 2012, Coluna D = Contagem de 2013, Coluna E = Anos e obter esse resultado:

Row Labels     Count of 2011    Count of 2012   Count of 2013     Years
A              2                1               2                 3
B              1                                1                 2
C              2                2                                 2   
D              1                                                  1  
Grand Total    6                3               3                 
    
por 18.01.2014 / 01:25