ich habe eine umfangreiche Excel Tabelle erstellt, ein Tabellenblatt "Datenbasis" wird über eine Datenbankverknüpfung via SQL Abfrage mit Daten gefüttert.
Diese Datenbasis kann schnell mal 75.000 Zeilen und mehr erreichen. In Spalte B werden die Kundennamen aufgeführt. Zu jedem Kunden gibt es unzählige Transaktionen. Ich möchte nun eine Kundenauflistung erhalten, indem Excel diese Spalte B durchsucht und jeden Kunden nur einmalig aufführt.
Bei meiner Recherche zur Lösung dieses Problems bin ich auf folgende Idee mit einer Hilfstabelle gestoßen:
Im Datenblatt in Zelle X1 wird einfach nur "1" eingetragen.
Im Datenblatt in Zelle X2 folgende Formel einfügen und runterziehen, (und das leider bis 75.000).
=(ZÄHLENWENN($B$1:B2;B2)=1)+MAX(X$1:X1)~f~
Im Tabellenblatt "Test"
füge ich in A1 folgende Formel ein und ziehe diese runter:
~f~=WENN(ZEILE(B2)>MAX(Datenbasis!X:X);"";INDEX(Datenbasis!B:B;VERGLEICH(ZEILE(B2);Datenbasis!X:X;0)))
Dann werden mir im Tabellenblatt Test in A1 und folgende Zellen nach und nach die Kunden aufgeführt. Jeder Kunde wird hierbei tatsächlich nur einmalig aufgeführt. Nun ist es jedoch so, dass ich nach jeder Aktualisierung der Datenbasis die Formel in Spalte X im Tabellenblatt Datenbasis manuell erweitern muss und die Berechnung dazu irgendwie ewig dauert.
Kann ich diese Funktion die ich in X2 eingefügt habe auch via Makro lösen? So brauche ich nur ein Makro starten, nachdem ich die Datenbasis aktualisiert habe, und das wars.
Oder kennt ihr für mein gewünschtes Ergebnis der Kundenauflistung eine bessere Lösungsmöglichkeit?
Vielen Dank!