Excel: spostamento dei dati per le righe duplicate in nuove colonne


0

Ho delle righe duplicate che rappresentano i clienti che hanno acquistato articoli diversi. L'articolo acquistato si trova in una colonna. Vorrei spostarli in colonne separate in modo da poter importare in un programma diverso. Quindi i miei dati sembrano qualcosa di questo:

uploaded screenshot of Excel

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

Vorrei che i dati sugli articoli acquistati fossero spostati in colonne separate, qualcosa del genere:

John   book   ball   bat

Tom    book    -     bat

Kate    -     ball    -

Dove ognuno dei libri, delle palle e dei pipistrelli ha la propria colonna.

Risposte:


1

Questa formula, compilata da A8, elencherà i nomi dei clienti, rimuovendo i duplicati:

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

Questa è una formula di matrice, quindi deve essere inserita con CTRL Cambio accedere , piuttosto che solo accedere .

Questa formula, riempita a destra e in basso da B8, elencherà gli acquisti da ciascun 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)),"")

enter image description here

Si noti che l'ultima formula si basa sul fatto che B1:B3 è un elenco ordinato degli acquisti. Questo è probabilmente casuale e un elenco simile potrebbe essere posizionato ovunque. Se la lista fosse orizzontale, invece che verticale, la formula sarebbe più semplice. Di 'la lista era in E1:G1, quindi la formula sarebbe:

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

E una formula di matrice simile alla prima, riempita direttamente da E1, potrebbe elencare gli acquisti lì:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.