Supportnet / Forum / Tabellenkalkulation
Liste aus Spalte in Excel per Formel erstellen
Frage
Hi Excel Experten,
folgendes Problem stellt sich mir:
Ich habe in einer Tabelle eine Spalte mit Namen. Ein Teil der Namen ist statisch, aber es gibt einen Teil der sich dynamisch ändern kann, d.h. es können Namen dazukommen und wegfallen. Die Reihenfolge ist unsortiert.
Gibt es die Möglichkeit per Formel die Namensspalte auszulesen und dann im Ergebnis eine Liste mit allen Namen zu haben, also eigentlich den Inhalt ohne Dubletten? Ich hatte auch an ein Auslesen des Dropdown Menues des Autofilters gedacht, bin mir aber nicht sicher, ob dies per Formel geht.
Danke für die Hilfe im voraus!
Birdy76
Antwort 1 von Aliba
Hi Birdy76,
mit einer Hiflsspalte, die ausgeblendet werden kann, wäre das mit Formeln möglich.
Nehmen wir mal an, die Namen befinden sich in Spalte A von Tabelle1
Di Tabelle enthält Überschriften, Daten beginnen in Zeile 2:
In B2 (B wird die Hilfsspalte) schreibst Du die Formel:
=WENN(A2="";"";WENN(ZÄHLENWENN($A$2;A2;A2)=1;MAX($B$1:B1)+1;""))
Diese Formel kannst Du soweit benötigt,bzw. Daten erwartet werden nach unten ziehen (kopieren)
Bei jedem erstmaligen Auftauchen eines Namens in Spalte A wird der Wert in SPalte B um 1 erhöht.
Formel in der Ausgabetabelle:
=WENN(ZEILE(A1)>MAX(Tabelle1!B:B);"";INDEX(Tabelle1!A:A;VERGLEICH(ZEILE(A1);Tabelle1!B:B;0);1))
Wie gesagt, Spalte B in Tabelle1 kann ausgeblendet werden.
CU Aliba
mit einer Hiflsspalte, die ausgeblendet werden kann, wäre das mit Formeln möglich.
Nehmen wir mal an, die Namen befinden sich in Spalte A von Tabelle1
Di Tabelle enthält Überschriften, Daten beginnen in Zeile 2:
In B2 (B wird die Hilfsspalte) schreibst Du die Formel:
=WENN(A2="";"";WENN(ZÄHLENWENN($A$2;A2;A2)=1;MAX($B$1:B1)+1;""))
Diese Formel kannst Du soweit benötigt,bzw. Daten erwartet werden nach unten ziehen (kopieren)
Bei jedem erstmaligen Auftauchen eines Namens in Spalte A wird der Wert in SPalte B um 1 erhöht.
Formel in der Ausgabetabelle:
=WENN(ZEILE(A1)>MAX(Tabelle1!B:B);"";INDEX(Tabelle1!A:A;VERGLEICH(ZEILE(A1);Tabelle1!B:B;0);1))
Wie gesagt, Spalte B in Tabelle1 kann ausgeblendet werden.
CU Aliba
Antwort 2 von Birdy76
Hi Aliba,
vielen Dank für die Hilfe; sieht soweit schon super aus. Bekomme aber die Fehlermeldung bei
=WENN(A2="";"";WENN(ZÄHLENWENN($A$2;A2;A2)=1;MAX($B$1:B1)+1;""))
das ein Argument (ZÄHLENWENN($A$2;A2;A2 ) zuviel ist. Wenn ich das lösche, dann zählt er immer nur den Namen in A2 hoch und ich bekomme als Ausgabeliste diesen Namen ohne Leerzeilen. Habe versucht für Zählenwenn einen Bereich festzulegen (zählenwenn(A2:A5000;a2), aber das gibt im Ergebnis einen Zirkelbezug.
Hast Du noch eine Idee?
Danke & Gruss,
Birdy76
vielen Dank für die Hilfe; sieht soweit schon super aus. Bekomme aber die Fehlermeldung bei
=WENN(A2="";"";WENN(ZÄHLENWENN($A$2;A2;A2)=1;MAX($B$1:B1)+1;""))
das ein Argument (ZÄHLENWENN($A$2;A2;A2 ) zuviel ist. Wenn ich das lösche, dann zählt er immer nur den Namen in A2 hoch und ich bekomme als Ausgabeliste diesen Namen ohne Leerzeilen. Habe versucht für Zählenwenn einen Bereich festzulegen (zählenwenn(A2:A5000;a2), aber das gibt im Ergebnis einen Zirkelbezug.
Hast Du noch eine Idee?
Danke & Gruss,
Birdy76
Antwort 3 von Aliba
Hi Birdy,
tut mir leid, hatte einen Schreibfehler in der Formel:
=WENN(A2="";"";WENN(ZÄHLENWENN($A$2:A2;A2)=1;MAX($B$1:B1)+1;""))
So sollte es funktionieren
CU Aliba
tut mir leid, hatte einen Schreibfehler in der Formel:
=WENN(A2="";"";WENN(ZÄHLENWENN($A$2:A2;A2)=1;MAX($B$1:B1)+1;""))
So sollte es funktionieren
CU Aliba
Antwort 4 von Birdy76
Hi Aliba,
ja, vielen Dank!!!
In der zweiten Formel habe ich den MAX Bereich noch angepasst und jetzt klappt es wunderbar!!
=WENN(ZEILE(A1)>MAX(Tabelle1!B:B);"";INDEX(Tabelle1!A:A;VERGLEICH(ZEILE(A1);Tabelle1!B:B;0);1))
Glaube, für den Rest des Tages bin ich beschäftigt :-)
Danke noch mal!
Birdy76
ja, vielen Dank!!!
In der zweiten Formel habe ich den MAX Bereich noch angepasst und jetzt klappt es wunderbar!!
=WENN(ZEILE(A1)>MAX(Tabelle1!B:B);"";INDEX(Tabelle1!A:A;VERGLEICH(ZEILE(A1);Tabelle1!B:B;0);1))
Glaube, für den Rest des Tages bin ich beschäftigt :-)
Danke noch mal!
Birdy76

