Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suche in Textzelle

Suche in Textzelle
06.09.2022 19:11:12
Ethnonym
Servus zusammen,
vielen Dank erstmal für diese Forum und für eure Hilfe!
Ich bin auf der Suche nach einer Formel, die in einer Textzelle nach 5 verschiedene Wörter sucht und das dann ausgibt (Es ist immer nur eines positiv)
Bsp:
Text: Hier ist viel Geld drin und ausgegeben wird es nur am Freitag sonst wird es gespart
Gesucht werden sollte nach:
viel
Geld
Freitag
gespart
Wobei die Wörter auch belieblig anders angereiht werden sein könnte.
Danke für eure Hilfe!
Gruß
Ethnonym

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
"Es ist immer nur eines positiv"
06.09.2022 19:15:40
{Boris}
hi,
...stimmt aber in Deinem Beispiel nicht. Was soll weshalb als Ergebnis rauskommen?
VG, Boris
AW: "Es ist immer nur eines positiv"
06.09.2022 19:17:56
Ethnonym
Es sollen die drei Begriffe in der Zelle gesucht werden und sollte er das Wort gefunden haben, dieses als Ergebnis ausgeben.
Das beantwortet nicht meine Frage
06.09.2022 19:20:30
{Boris}
Hi,
erstens sind es 4 (und nicht 3) Wörter, zweitens: es sind mehrere "positiv" (und nicht nur eins, wie Du es geschrieben hast), und drittens (wenn es schon mehrere Treffer gibt): Welchen Treffer hättest Du gern konkret - bezogen auf Dein Beispiel?
VG, Boris
AW: Das beantwortet nicht meine Frage
06.09.2022 19:30:18
Ethnonym
Sorry,
Ja, da hab ich falsch gedacht.
Bsp neuer Text
Es ist viel Geld auf den Konto
Suchwörter sollten sein:
Geld
angespart
Verrechungskonto
Freitag
Hiermit sollte Geld gefunden werden und als Ergebnis ausgegeben werden
Sorry nochmal, suche verzweifelt gerad die Formel
Danke!
Anzeige
INDEX und FILTER
06.09.2022 19:49:38
{Boris}
Hi,
Dein Satz in A1, Deine Wörter in B1:B10.
=INDEX(FILTER(B1:B10;ISTZAHL(SUCHEN(B1:B10;A1)));1)
Falls Du GROSS- und kleinschreibung unterscheiden möchtest, SUCHEN durch FINDEN ersetzen.
VG, Boris
AW: INDEX und FILTER
07.09.2022 16:55:17
Ethnonym
Hi Boris,
die Formel ist leider nur für Office 365 möglich, aber nicht für Office 2019, kennst du hier evtl eine alternative?
Danke
Eine Formel für xl2019...
07.09.2022 17:22:02
{Boris}
Hi,
...hat Dir Onur bereits geliefert. Da es das Spill-Prinzip in xl2019 noch nicht gibt, schreibe sie - bezogen auf Onurs Beispieldatei - so:
=INDEX(WENN(WENNFEHLER(SUCHEN($A$1:$A$4;$B$1);0)>0;$A$1:$A$4;"");ZEILEN($1:1))
und kopier sie runter.
Warum gibst Du aber xl365 als Deine Excelversion an, wenn es denn xl2019 ist?
VG, Boris
Anzeige
Mit FILTER ist das aber auch egal...
06.09.2022 21:23:19
{Boris}
Hi Onur,
...ich hab nur mit INDEX den ersten Treffer ausgewählt.
=FILTER(B1:B10;ISTZAHL(SUCHEN(B1:B10;A1)))
liefert auch alle Treffer.
Und mit
=LET(x;FILTER(B1:B10;ISTZAHL(SUCHEN(B1:B10;A1)));FILTER(x;x0))
wird das Ergebnisarray auch auf die Anzahl der Treffer eingedampft, was mit Deiner Variante natürlich auch geht.
VG, Boris
AW: Mit FILTER ist das aber auch egal...
06.09.2022 22:35:31
onur
Hi Boris,
Ich wollte auch nicht das Gegenteil behaupten, ich war es nur Leid, dass er jedes Mal was anderes erzählte: einmal vier Suchbegriffe, das nächste mal 3, dann vier Treffer, dann nur ein Treffer. Wenn man anderen Menschen, die mitdenken können, nicht mal erklären kann, was man will, wie soll man es Excel, der keine Fehler verzeiht, erklären? Und das auch noch mit "Excel gut".
Gruß
Onur
Anzeige
Sehr angenehm...
06.09.2022 22:59:51
{Boris}
Hi Onur,
...inzwischen, mit Dir zu kommunizieren! :-)
Ja - manchen fällt es nicht so leicht, eine vermeintlich einfache Aufgabe präzise zu beschreiben. Aber in diesem Fall hat "Ethnonym" ja nun alle Auswahlmöglichkeiten :-)
Wobei: Einen hätte ich noch (bezogen auf Deine Beispieldatei) ;-)
=FILTER(A1:A10;NACHZEILE(A1:A10;LAMBDA(a;WENN(a"";ZÄHLENWENN(B1;"*"&a&"*")))))
@Ethnonym: Das ist nur ein kleiner Gag - bitte nicht persönlich nehmen!
VG, Boris
AW: Sehr angenehm...
06.09.2022 23:44:48
onur
Oder auch so:

=LET(fil;WENNFEHLER(SUCHEN(Z1S1:Z4S1;Z1S2);"");FILTER(fil;fil""))    
:)
Anzeige
Das meinte ich ja...
06.09.2022 23:50:18
{Boris}
Hi Onur,
...mit:
was mit Deiner Variante natürlich auch geht.
VG, Boris
AW: Das meinte ich ja...
06.09.2022 23:52:17
onur
Ich weiss, Boris.
Da ich noch nie mit Lambda gearbeitet habe (hatte), hab ich es mal mit Let versucht.
Gruß
Onur
Alles gut...
06.09.2022 23:58:33
{Boris}
Hi Onur,
...ich hatte ja nen Beitrag vorher geschrieben:
Und mit
=LET(x;FILTER(B1:B10;ISTZAHL(SUCHEN(B1:B10;A1)));FILTER(x;x0))
wird das Ergebnisarray auch auf die Anzahl der Treffer eingedampft, was mit Deiner Variante natürlich auch geht.

Damit meinte ich ja LET mit WENNFELER(SUCHEN...)) statt FILTER(...) ;-)
LAMBDA ist übrigens ne schöne Spielerei - nicht nur aufgrund ihrer Nebenfunktionen (NACHZEILE, SCAN, MAP etc.) sondern vor allem bei der Erstellung einer UDF ohne VBA - und in der Königsdisziplin auch rekursiv ;-.)
VG, Boris
Anzeige
LAMBDA rekursiv
07.09.2022 00:23:36
{Boris}
Hi Onur,
...wenn Du Dich dafür interessierst, mach mal Folgendes:
Definiere den Namen Entfernen mit Bezug auf:
=LAMBDA(DerText;DieZeichen;DasErsatzzeichen;WENN(DieZeichen="";DerText;Entfernen(WECHSELN(DerText; LINKS(DieZeichen);DasErsatzzeichen);TEIL(DieZeichen;2;999);DasErsatzzeichen)))
.
Die Funktion hat - wie eine UDF - Parameter - hier: 3: DerText, DieZeichen, DasErsatzzeichen - und arbeitet rekursiv.
In der Mappe wie ne normale Funktion aufrufbar:
=ENTFERNEN(DerText;DieZeichen;DasErsatzzeichen)
Aus DerText werden DieZeichen entfernt und - wenn gewünscht - durch DasErsatzzeichen ersetzt (wobei es in diesem Beispiel keine optionalen Parameter gibt - wenn man kein Ersatzzeichen möchte, muss man den 3. Parameter mit "" belegen).
Z,B, kann man so alle Ziffern aus einem Text entfernen - man muss also nicht mehr WECHSELN, bis der Arzt kommt, sondern es reicht:
=Entfernen("James Bond 007";"0123456789";"")
..um daraus den "James Bond" zu machen.
VG, Boris
Anzeige
AW: Das meinte ich ja...
07.09.2022 06:05:57
Ethnonym
Alles gut, ihr habt ja recht. Problem war nur, das ich Gedanklich schon bei ner anderen Formel war und diese gerade geschachelt hatte.
Danke Boris, die Formel mit dem filter hat geklappt, hatte auch schon mit suchen angefangen bzw. finden, aber die verschachtelung hatte ich nicht hingekriegt, da hat mir dein Stubser gefehlt.
Thx.
AW: Suche in Textzelle
07.09.2022 09:54:19
snb
Ein normales UDF:
in A1 die Satz
In B1:B10 die gesuchte Worte
in C1 = F_snb(A1;B1:B10)
Im Makromodul:

Function F_snb(c00,sn)
For each it in sn
c00=replace(c00,it,"")
next
F_snb = c00
End Function

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige