Frage von BetterDay6, 71

Excel 2010: Wie kann ich eine variable Liste (mit bestimmtem Teilwert in Zelle) in anderes Tabellenblatt kopieren?

Hallo Leute!

Ich habe schon etliche Stunden in diversen Foren verbracht und bin bis dato nicht schlau geworden.

Ich habe eine Excel Tabelle1 mit unterschiedlichen Gruppierungen in Spalte D (zB KD001, KD002, FU005, VB009 etc.).
Jetzt möchte ich in Tabelle 2 eine Gruppierung der zB KD-Zellen, d.h. also eine Auflistung (untereinander in Spalte B) aller Zellwerte, welche "KD" enthalten = KD001, KD002. 

Es gibt sicher im Internet irgendwo die Lösung dazu, aber bis dato habe ich nach meinem Verständnis nichts brauchbares gefunden. Könnte mir hier wer mit einer Lösung für "Nicht-Excel-Profis" weiterhelfen?

Ganz herzlichen Dank!

Expertenantwort
von Ninombre, Community-Experte für Excel, 42

Mit der Lösung in einer einzigen Formel bin ich überfragt - daher die Frage noch mal in die Runde geschickt.
Über zwei Schritte wäre es vielleicht so möglich:

Tabelle 1 enthält die unsortierten Werte in Spalte D
Tabelle 2 braucht eine Hilfsspalte, bspw. Spalte A:
=WENN(ISTNV(SVERWEIS("KD*";Tabelle1!D1:D10;1;FALSCH));"";SVERWEIS("KD*";Tabelle1!D1:D10;1;FALSCH))

Den Suchbereich D1:D10 bewusst ohne Fixierung, damit der Sverweis nicht immer den gleichen Treffer zeigt, d.h. der Suchbereich muss bewusst nach unten wandern, wenn die Formel runterkopiert wird. Ob 1:10 ausreicht oder die Abstände zwischen den einzelnen Einträgen mit KD größer sind, musst Du beurteilen. Ginge auch 1:100 oder mehr.
Wichtig: Die Formel liefert künstliche Dubletten wenn einträge zwischendrin nicht mit KD beginnen, dagegen ist mir noch kein Mittel eingefallen.

Tabelle 2 in Spalte B
=WENN(SUMME(WENN(A$1:A$100="";0;1/ZÄHLENWENN(A$1:A$100;A$1:A$100)))<ZEILE();"";INDIREKT("A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A1))))

Die Formel bei Verlassen der Zelle mit STRG+SHIFT+ENTER abschließen, damit sich noch die {} bilden.
Damit wird die Spalte A, die Mehrfachnennungen enthält, weiter gefiltert.

Was ich nicht hinbekomme ist in die Formel von Spalte B noch eine Abfrage auf den Bestandteil KD einzufügen. Alternativ müsste man irgendwie den Suchbereich in der ersten Formel intelligenter einschränken, dass die Zeilennummer des letzten Suchergebnisses berücksichtigt wird.

Expertenantwort
von Ninombre, Community-Experte für Excel, 42

Ein ganz einfacher Ansatz: Autofilter > Textfilter > Text beginnt mit und dann eben KD und das Filterergebnis kopieren
Über Formeln fällt mir keine stabile Lösung ein. Wäre auch ein Makro nutzbar für Dich?

Sub kopieren()
Dim i As Long
For i = 1 To Tabelle1.Cells(Rows.Count, 4).End(xlUp).Row
If Left(Tabelle1.Cells(i, 4).Value, 2) = "KD" Then Tabelle2.Cells(Tabelle2.Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).Value = Tabelle1.Cells(i, 4).Value
Next
End Sub

Kommentar von BetterDay6 ,

Hallo Ninombre!

Mit den Makros kenn ich mich überhaupt nicht aus, leider. Eine Formel wäre mir am liebsten, dann brauche ich nicht jedes mal autofiltern und kopieren. Es soll immer automatisch in Tabelle 2 aktualisiert werden, sobald ich in Tabelle 1 was ändere.

Danke trotzdem für deine Hilfe.

LG

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten