Excel: classifique de acordo com a linha de exemplo

1

Estou usando o Excel 2013 no Windows 7.

Eu tenho 2 colunas de dados como esta:

Name Value
aaa  1
bbb  123
ccc  81
...  ...

Eu preciso classificar esses dados em uma ordem específica que parece aleatória, por isso não posso usar critérios básicos como o alfabeto para classificá-los. O número de linhas é bastante alto, por isso não faz sentido fazer a encomenda manualmente.

Não há duplicatas no Nome column .

Eu tentei usar Custom list da ferramenta de classificação do Excel, mas aparentemente minha lista é muito longa para caber nela. (A lista é cortada em algum momento.)

Eu tenho a terceira coluna com a ordem desejada para os dados:

Desired order
bbb
aaa
ccc
...

Como posso classificar os dados que eu tenho em ordem dada pela terceira linha?

    
por Madoc Comadrin 20.01.2016 / 18:41

1 resposta

3

Semelhante ao que @Kyle mencionou em seu comentário , deve adicionar uma coluna que pesquise a Name na lista Desired order . Recomendo usar MATCH em vez de VLOOKUP .

Se seus dados estiverem em A:B e a lista de pedidos estiver em Z:Z , a fórmula para C2 será:

=MATCH($A2,$Z:$Z,0)

Se um Name não estiver na lista, ele retornará um erro #N/A . Você provavelmente quer ver isso desde que você quer coisas em uma ordem específica que parece aleatória em vez de uma ordem aleatória real. Caso contrário, poderíamos empurrar todos aqueles para o final:

=IFERROR(MATCH($A2,$Z:$Z,0),COUNTA($Z:$Z)+1)

... ou cole-os em algum lugar no meio:

=IFERROR(MATCH($A2,$Z:$Z,0),RANDBETWEEN(1,COUNTA($Z:$Z)))

Independentemente da rota escolhida para obter sua lista, você classifica com base nessa nova coluna de números para obter a ordem desejada.

    
por 20.01.2016 / 22:24