Ich habe doppelte Zeilen, die Kunden darstellen, die unterschiedliche Artikel gekauft haben. Die gekauften Artikel stehen in einer Spalte. Ich möchte sie in separate Spalten verschieben, damit ich sie in ein anderes Programm importieren kann. Meine Daten sehen also ungefähr so aus:
John book
John ball
John bat
Tom book
Tom bat
Kate ball
Ich möchte, dass die Daten zu gekauften Artikeln in separate Spalten verschoben werden, etwa so:
John book ball bat
Tom book - bat
Kate - ball -
Wobei jedes Buch, jeder Ball und jeder Schläger eine eigene Spalte hat.
Antwort1
Diese Formel, ausgefüllt aus A8
, listet die Kundennamen auf und entfernt Duplikate:
=IFERROR(INDEX($A$1:$A$6,MATCH(0,COUNTIF(A$7:A7,$A$1:$A$6),0)),"")
Dies ist eine Arrayformel und muss daher mit CTRLShiftEnterund nicht nur eingegeben werden Enter.
Diese Formel, die von rechts nach unten ausgefüllt wird B8
, listet die Einkäufe jedes Kunden auf:
=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)),"")
Beachten Sie, dass die letzte Formel auf der Tatsache beruht, dass B1:B3
eine geordnete Liste der Einkäufe ist. Dies ist wahrscheinlich zufällig und eine ähnliche Liste könnte sich überall befinden. Wenn die Liste horizontal statt vertikal wäre, wäre die Formel einfacher. Angenommen, die Liste wäre in E1:G1
, dann wäre die Formel:
=IF(SUMPRODUCT(($A$1:$A$6=$A8)*($B$1:$B$6=E$1))>0,E$1,"")
Und eine Array-Formel ähnlich der ersten, die direkt aus E1 gefüllt wird, könnte dort die Käufe auflisten:
=IFERROR(INDEX($B$1:$B$6,,MATCH(0,COUNTIF($D1:D1,$B$1:$B$6),0)),"")