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

... komplette Frage anzeigen

2 Antworten

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.

Antwort bewerten Vielen Dank für Deine Bewertung

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

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von BetterDay6
09.12.2015, 09:27

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

0

Was möchtest Du wissen?