Excel - movendo dados para linhas duplicadas para novas colunas

0

Eu tenho linhas duplicadas que representam clientes que compraram itens diferentes. O item comprado está em uma coluna. Eu gostaria de movê-los para colunas separadas para que eu possa importar para um programa diferente. Então meus dados parecem com algo assim:

John  book          
John  ball          
John  bat           
Tom   book          
Tom   bat           
Kate  ball

Gostaria que os dados dos itens comprados fossem movidos para colunas separadas, algo assim:

John   book   ball   bat

Tom    book    -     bat

Kate    -     ball    -

Onde cada livro, bola e bastão tem sua própria coluna.

    
por Thaddeus Corea 13.04.2018 / 06:22

1 resposta

1

Esta fórmula, preenchida em A8 , listará os nomes dos clientes, removendo duplicatas:

=IFERROR(INDEX($A$1:$A$6,MATCH(0,COUNTIF(A$7:A7,$A$1:$A$6),0)),"")

Esta é uma fórmula de matriz, por isso deve ser introduzida com CTRL Deslocar Introduzir , em vez de apenas Introduzir .

Esta fórmula, preenchida à direita e abaixo de B8 , listará as compras de cada cliente:

=IF(SUMPRODUCT(($A$1:$A$6=$A8)*($B$1:$B$6=INDEX($B$1:$B$3,COLUMN(A1))))>0, INDEX($B$1:$B$3,COLUMN(A1)),"")

ObservequeaúltimafórmuladependedofatodequeB1:B3éumalistaordenadadascompras.Issoéprovavelmentecoincidência,eumalistasemelhantepodeestarlocalizadaemqualquerlugar.Sealistafossehorizontal,emvezdevertical,afórmulaseriamaissimples.DigamosquealistaestavaemE1:G1,entãoafórmulaseria:

=IF(SUMPRODUCT(($A$1:$A$6=$A8)*($B$1:$B$6=E$1))>0,E$1,"")

E uma fórmula de matriz semelhante à primeira, preenchida diretamente do E1, poderia listar as compras lá:

=IFERROR(INDEX($B$1:$B$6,,MATCH(0,COUNTIF($D1:D1,$B$1:$B$6),0)),"")

    
por 13.04.2018 / 07:24