Tenho linhas duplicadas que representam clientes que compraram itens diferentes. Os itens adquiridos estão em uma coluna. Gostaria de movê-los para colunas separadas para poder importar para um programa diferente. Então meus dados se 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 taco tem sua própria coluna.
Responder1
Esta fórmula, preenchida a partir de 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, portanto deve ser inserida com CTRLShiftEnter, em vez de apenas Enter.
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)),"")
Observe que a última fórmula depende do fato de B1:B3
ser uma lista ordenada de compras. Provavelmente isso é coincidência e uma lista semelhante pode estar localizada em qualquer lugar. Se a lista fosse horizontal, em vez de vertical, a fórmula seria mais simples. Digamos que a lista estivesse em E1:G1
, então a fórmula seria:
=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 desde E1, poderia listar as compras ali:
=IFERROR(INDEX($B$1:$B$6,,MATCH(0,COUNTIF($D1:D1,$B$1:$B$6),0)),"")