Planilha: criar coluna baseada em uma coluna classificada por valores de outra

1

Eu quero criar uma nova coluna de dados de uma coluna classificada por outra coluna.

É mais fácil explicar com um exemplo. Isso não é exatamente o que estou fazendo, mas acho que isso explica bem. Digamos que a coluna A tenha nomes de pessoas em ordem alfabética:
Adão
Betty
Colin
Debbie

e a coluna B tem o ano do seu nascimento:
1985

1973

1954
1973

Gostaria de criar uma coluna C, que lista os nomes das pessoas pelo ano de nascimento:
Colin
Betty
Debbie
Adam

Isso deve ser feito sem alterar ou classificar a coluna A ou B.
Isso deve ser feito de uma maneira que atualizará automaticamente a coluna C se a coluna A ou B forem editadas.

Obrigado! (Estou trabalhando no Excel no Windows 10, se isso faz alguma diferença.)

    
por Mark Green 06.09.2018 / 05:39

3 respostas

0

Cx=INDIRECT(ADDRESS(COUNTIF(B:B,">=" & Bx),1))

Os valores do ano de nascimento devem ser únicos.

Se os dados começarem da linha com o número mais de 1 - adicione o número adequado ao valor COUNTIF ().

    
por 06.09.2018 / 06:31
0

Isso seria fácil se os anos na coluna B fossem únicos, mas podemos ajustar para anos duplicados. Em D1 digite:

=B1

e em D2 digite:

=B2+COUNTIF(B$1:B1,B2)*0.001

e copie para baixo. A coluna D replica a coluna B com duplicatas "de-conflicted". Isso permite que a função MATCH() recupere todos os valores. Finalmente, em C1 digite:

=INDEX(A:A,MATCH(SMALL(D:D,ROWS($1:1)),D:D,0))

e copie para baixo:

    
por 06.09.2018 / 13:45
0

@ Estudante de Garry, por algum motivo, não encontrei as fórmulas de que precisava antes. Quando eu não consegui voltar a esta página por alguns dias, um pouco mais de pesquisa me encontrou a fórmula RANK. (No mais novo Excel, o RANK é depreciado, então usei o RANK.EQ mais novo. Então pensei em VLOOKUP, mas com um pouco mais de pesquisa, encontrei o INDEX MATCH, que parece melhor, e você usou isso também. Então aqui está o que eu fiz e como eu lidei com os anos duplicados: planilha classifica nomes por ano

(minhas fórmulas começam na linha 2 devido aos cabeçalhos)
Fórmula da coluna C:

=RANK.EQ(B2,B$2:B$15,1)

É importante saber como funciona o ranking. Se houver três itens na posição número 5, todos receberão uma classificação de 5 e não haverá itens com classificação de 6 ou 7. A próxima posição é uma classificação de 8.

Fórmula da coluna D:
na primeira célula

=C2

e em células subseqüentes

=C3+COUNTIF(C$2:C2,C3)

Isso elimina o ranking duplicado. A classificação é aumentada em 1 se houver uma classificação duplicada acima na lista. Então, esses números duplicados 5 receberão a classificação 6 & 7.

A coluna E é simplesmente uma lista de números consecutivos, bastante fácil de preencher automaticamente.

A fórmula da coluna F reúne tudo:

=INDEX($A$2:$A$15,MATCH(E2,$D$2:$D$15,0))

De qualquer forma, eu queria compartilhar o que eu tinha como funciona e é um pouco diferente. Mas provavelmente a resposta do Garry's Student é melhor, pois usa menos colunas para chegar lá. (Possivelmente eu poderia combinar alguns e usar menos colunas também com o meu método.)

    
por 08.09.2018 / 04:39