Excel soll ZeileN einer Spalte ausgeben, in denen ein bestimmter Wort vorkommt. Wie mache ich das?
Hey Leute,
ich habe eine Spalte bestehend aus 100k Zellen. In jeder Zelle steht ein Wort.
Das ganze war mal ein Fließtext.
Jetzt will ich herausfinden, in welchen Zellen ein bestimmtes Wort vorkommt.
Excel soll nicht nur eine der Zellen, ausgeben, sondern alle, in denen der Wert steht.
Wenn es nur mit VBA geht, dann auch gern so.
Danke schon mal für eure Hilfe!
2 Antworten
ohne Matrixformel und als Ergebnis nur die ZeilenNUMMERN:
zu analysierende Spalte: A. Oberste Formel: D4 (D3 wird gebraucht und muss leer bleiben oder 0 enthalten). Das "Wort" darf oberhalb nicht auftauchen bzw wird dann mitgezählt.
D4: =Wennfehler(D3+Vergleich("Wort";Indirekt("A"&D3+1&":A25");0);"kein weiteres")
Zeile Listenende anstatt 25 einfügen. Runterkopieren, bis "kein weiteres" auftaucht..
Für andere Spalten musst Du in Indirekt das A durch den Spaltenbuchstaben A zweimal ersetzen.
------- -------
Da Du eine äusserst lange Liste hast, noch eine Erleichterung zum Auffinden der letzten Nennung von häufiger vorkommenden Wörtern (zB. und):
=Summenprodukt(Istzahl(D4:D25)*Isttext(D5:D26)*Zeile(D4:D25))
Aber Achtung: Die Formel findet nur das exakte Wort (zB ohne weiteres Leerzeichen)
Willst Du das anders, musst Du "Wort" ersetzen durch "*Wort*" oder -wenn es aus einem Bezug kommt, durch "*"&Bezug&"*"
Musst nur aufpassen, im konkreten Fall würde das auch Antwort, wortgewaltig oder Zeitwortform finden. (Groß-/Kleinschreibung wird ebenfalls ignoriert)
Zählen kannst Du das übrigens -sofern Du darunter keine Zahlen eingetragen hast- einfach mit:
=Anzahl(D:D)-Anzahl(D1:D3)
Bevor ich mir was überlege eine kleine Nachfrage:
Angenommen Deine Wörter stehen in Spalte A
In B1 steht das Suchwort.
Was soll jetzt in B2 und folgende ausgegeben werden?
Die Zelladeressen? Also
B2: A5
B3: A11
B4: A 100
usw.?
Oder sollen die Zellen nur direkt markiert werden, also neben dem jeweiligen Fundort?
Habe ich schon ausgetüftelt, weil ich es interessant finde:
Diese Formel in B2 und runterkopieren:
{=WENNFEHLER(ADRESSE(KKLEINSTE(WENN(($A$1:$A$30)=$B$1;ZEILE($A$1:$A$30));ZEILE(A1));1;4);"")}
**ACHTUNG!**
Das ist eine Matrixformel.
Das bedeutet: Die geschweiften Klammern {} NICHT mit eingeben, sondern die Eingabe der Formel NICHT mit ENTER abschließen, sondern mit:
STRG & SHIFT & ENTER (alle drei gleichzeitig).
DAS erzeugt die { } und macht die Formel zu einer Matrixformel.
Klappt es?
Danke dir für die schnelle Antwort. Ich melde mich morgen noch mal.
Genau so. Ich will eine Liste der Zellen, in denen das Wort steht. :)