Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
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

Text finden, vorgelagerte Zahl auslesen

Text finden, vorgelagerte Zahl auslesen
28.01.2022 12:27:09
Chris94
Hallo zusammen,
ich scheitere mit meinem Ansatz von Rechts(Links(Suchen)) an diesem Problem:
Von nachfolgenden Text (in einer Zelle) möchte ich bei Suche nach "*Birne*" die Information '3' ausgelesen bekommen - gemäß der Prozentangabe die zugeordnet ist im Text.
Mein Problem ist u.a., dass die Zahl mal eine Stelle haben kann, wie in diesem Beispiel, aber auch mal zweistellig ist (z.B. 29).
8% Käse, 10% Pflaume, 50% Apfel, 3% Birnenkompott, 29% Wasser
Ich habe eine kurze Bsp.Datei hochgeladen.
https://www.herber.de/bbs/user/150741.xlsx
Vielen Dank im Voraus für eure Hilfsbereitschaft!
Gruß,
Chris

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text finden, vorgelagerte Zahl auslesen
28.01.2022 13:11:19
{Boris}
Hi,
kommagetrennter Text steht in A1, Suchbegriff (z.B.: birne) in F1.
=LET(x;GLÄTTEN(TEIL(WECHSELN(GLÄTTEN($A1);",";WIEDERHOLEN(" ";199));ZEILE(INDIREKT("1:"&LÄNGE(A1) -LÄNGE(WECHSELN(A1;$E$1;))+1))*199-198;199));y;INDEX(x;VERGLEICH("*"&F1&"*";x;));LINKS(y;FINDEN(" "; y)-1))
VG, Boris
Kleine Korrektur
28.01.2022 13:12:44
{Boris}
=LET(x;GLÄTTEN(TEIL(WECHSELN(GLÄTTEN($A1);",";WIEDERHOLEN(" ";199));ZEILE(INDIREKT("1:"&LÄNGE(A1) -LÄNGE(WECHSELN(A1;",";))+1))*199-198;199));y;INDEX(x;VERGLEICH("*"&F1&"*";x;));LINKS(y;FINDEN(" "; y)-1))
VG, Boris
AW: Kleine Korrektur
28.01.2022 13:38:07
Chris94
Hallo Boris,
vielen Dank für deine Mühe! Wow, ich hätte nie gedacht, dass die Formel so aufwendig ist...
Leider bekomme ich das Ergebnis

#NAME?
.
Liegt das vllt. an der "LET" Formel, diese kenne ich nämlich überhaupt nicht.
A1 ist der Text mit Komma getrennt
=> 12% Apfelbratling, 20% Pflaume, 68% Birne
F1 ist der Suchbegriff
=> Birne
Vielen Dank nochmals für deine erneute Rückmeldung.
Ich bin wirklich dankbar für deine Hilfe!
Gruß,
Chris
Anzeige
Wenn Du bei der Excelversion...
28.01.2022 13:41:21
{Boris}
Hi,
.."Ohne Relevanz" angibst, dann nehme ich meine Version - und das ist xl365.
Welche Version hast Du denn?
VG, Boris
Nimm die Formel von WF ;-)) oT
28.01.2022 13:43:02
WF
VG, Boris
=TEIL(A2;SUCHEN("? Birne";A2)-2;2)*1
28.01.2022 13:39:51
WF
.
*lol* ;-)) oT
28.01.2022 13:42:37
{Boris}
VG, Boris
AW: *lol* ;-)) oT
28.01.2022 13:48:37
Chris94
Hallo Boris,
ich bin wirklich nicht davon ausgegangen, dass es Relevanz haben kann. Nochmals Entschuldigung, ich werde daraus lernen!
Und auch nochmals Danke an dich!!!
Hallo WF,
vielen Dank, die Formel tut das was Sie soll. Mich irritiert das "LOL" von Boris etwas, aber ich denke ich kenne mich zu wenig aus...
Super Sache, hilft mir sehr.
Gruß,
Chris
Ich hab mich selbst damit ausgelacht ;-) oT
28.01.2022 13:50:39
{Boris}
VG Boris
AW: Ich hab mich selbst damit ausgelacht ;-) oT
28.01.2022 17:32:50
Luschi
Hallo {Boris},
habe Deine Formel trotzdem konserviert, für den Fall, daß jemand glaubt, das neue Formel-Möglichkeiten (hier 'Let') immer auch den Fortschritt bringen; also nix für Ungut und
Gruß von Luschi
aus klein-Paris
Anzeige
Na ja...
28.01.2022 18:02:16
{Boris}
Hi Luschi,
...der Hauptteil der Formel ist ja
=GLÄTTEN(TEIL(WECHSELN(GLÄTTEN($A1);",";WIEDERHOLEN(" ";199));ZEILE(INDIREKT("1:"&LÄNGE(A1) -LÄNGE(WECHSELN(A1;",";))+1))*199-198;199))
Damit erzeugt man erstmal eine Matrix, bestehend aus den kommagetrennten Einzelwerten des Strings in A1.
Das wäre mit den neuen Funktionen noch besser so formulierbar:
=GLÄTTEN(TEIL(WECHSELN(GLÄTTEN($A1);",";WIEDERHOLEN(" ";199));SEQUENZ(LÄNGE(A1) -LÄNGE(WECHSELN(A1; ",";))+1)*199-198;199))
A1: Hund, Katze, Maus
Ergebnis-Array:
Hund
Katze
Maus
Und wenn man dann das Array für weitere Auswertungen braucht, ist das schon ganz praktisch, wenn man das nur 1 mal formulieren muss und mittels LET an eine Variable übergeben kann. Was auch immer man dann mit dem Array anstellen möchte.
In diesem konkreten Fall war ich natürlich damit komplett auf dem Holzweg - aber es mag sicher viele Fälle geben, wo das sinnvoll einsetzbar ist.
VG, Boris
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige