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

String per Formel auslesen

String per Formel auslesen
16.05.2019 11:52:18
ChrisW
Hallo Leute,
ich habe eine Tabelle mit einer Splate A, in der in jeder Zelle ab Zeile 2 ein Text steht, wie z.B.:
"Apfel (2), Birne (7), Pflaume (14), Walnuß (1)"
"Kirsche (22), Birne (3), Apfel (26)"
"Zitrone (4)"
"Apfel (5), Mandarine (7), Banane (6)"
etc.
https://www.herber.de/bbs/user/129808.xlsx
Ich möchte jetzt in weitere Spalten (ab "B" in Zeile 1 die einzelnen Obstsorten schreiben und per Formel die Zeilen auslesen, so dass ich, wenn z.B "Apfel" in der Zeile gefunden wurde die Zahl "2" eingetragen wird. In der nächtsen Spalte z.B."Himbeere" wurde der Begriff nicht gefunden also Zelle Leer oder 0, nächste Spalte: "Birne" die Zahl 7
usw.
...so dass ich am Ende der 500 Zeilen die Gesamtsumme dr vorhandenen Früchte addieren kann.
Könnt Ihr mir hier weiterhelfen?
Also Formel für suche nach bestimmtem Wort im Text und Ausgabe der Zahl in Klammern dahinter.
Vielen Dank im Voraus,
ChrisW

36
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String per Formel auslesen
16.05.2019 12:01:17
{Boris}
Hi,
B2 (und dann runter und nach rechts kopieren):
=WENNFEHLER(--WECHSELN(TEIL($A2;FINDEN(B$1;$A2)+LÄNGE(B$1)+2;2);")";"");"")
VG, Boris
geht bis 99 Stück so...
16.05.2019 12:03:03
{Boris}
...sollten auch 100 und mehr vorkommen können, sag Bescheid.
VG, Boris
Mehr als 99...
16.05.2019 15:06:35
{Boris}
Hi,
...und weniger als 1000 - und zudem auch mit Berücksichtigung, falls den (Klammerwerten) nicht immer verlässlich ein Leerzeichen vorausgeht:
B2:
=WENNFEHLER(--WECHSELN(WECHSELN(TEIL(WECHSELN($A2;" ";"");FINDEN(B$1;WECHSELN($A2;" ";""))+LÄNGE(B$1) +1;3);")";"");",";"");"")
und wie gehabt nach rechts und nach unten kopieren.
VG, Boris
doppelten "--"
16.05.2019 15:49:17
ChrisW
Super, danke es funktioniert, aber warum diese doppelten "--" in der Formel vor "WECHSEL"
LG
ChrisW
Anzeige
AW: doppelten "--"
16.05.2019 16:33:46
Daniel
Hi
"--" wird normalerweise dazu verwendet, um Texte, die wie Zahlen aussehen, in echte Zahlen umzuwandeln, dh aus "1" wird 1.
man könnte hierzu auch die Funktion WERT(...) verwenden, aber das "--" sieht cooler aus.
Gruß Daniel
... das sieht nicht "cooler" aus. Da wird
16.05.2019 17:10:58
WF
nur dauernd nachgefregt, was das soll (wie man hier wieder sieht).
Bei *1 hab' ich noch nie eine Nachfrage erlebt.
WF
warum wird dann immer "--" verwendet ?
16.05.2019 17:37:31
Daniel
und nicht "WERT()" oder "+0" oder "-0" oder "*1" oder "/1"?
Weils die Antworter toll finden, wenn der Fragesteller ihre Antwort nicht gleich versteht sondern nochmal nachfragen muss?
Gruß Daniel
ja, stimmt
16.05.2019 17:52:50
WF
und dann kommt die zweite Nachfrage (schon gesehen), warum denn ++ nicht funktioniert :-)
usw.
WF
Anzeige
logisch, wenn -- funktioniert, müsste
16.05.2019 18:18:04
Daniel
auch ++ funktioneren.
da kann man sich schon mal fragen, warum das so ist.
ich habe für diese Frage vollstest Verständnis.
kein Verständnis! Denn ...
17.05.2019 08:09:01
lupo1
... in der gesprochenen Sprache gibt es doppelte Verneinung (mit sehr unterschiedlichen, wirksamen und erlaubten Zielen); eine doppelte Bejahung bringt nichts, ist redundant oder gar falsch:
"letztendlich" ist ein überflüssiges und nicht vorgesehenes Wort, wird aber durch viele verwendet (zur Güte: ist ausschmückend gedacht). Richtig ist "letztlich" ... oder auch "Am Ende", so wie das englische "eventually".
Übrigens: Es gibt zwar ein unäres Minus, aber kein solches (explizites) Plus ... auch wenn das hier nichts mit dem Thema zu tun hat.
Anzeige
Da streiten sich die Geister
16.05.2019 17:54:51
lupo1
Ich mag --, weil man sofort sieht, dass Typwandlung (bzw. ein Versuch dazu) stattfindet. Und nichts sonst.
"1*" is just another "Plutimication". Es fällt nicht so ins Auge.
Bei Zeitnahmen sind beide ähnlich.
naja, -- ist doch nichts anderes als
16.05.2019 18:14:45
Daniel
(-1)*(-1) in kurzschreibweise und damit auch nur eine weitere und sogar doppelte "Plutimication"
die "offizielle" Funktion zur expliziten Typumwandlung ist doch WERT, da würde man es doch auch sofort sehen, was hier passieren soll (und sogar in der Hilfe nachlesen)
Gruß Daniel
Hat doch weder etwas mit Pippis Plutimikation ...
16.05.2019 20:12:41
Luc:-?
…(deren Fktsweise man mathematisch erklären kann) noch mit Dekrement zu tun, Lupo,
sondern ist doch einfach nur die doppelte Negation einer (Text-)Zahl bzw die Subtraktion einer negativen (Text-)Zahl. Und natürlich fktioniert das auch mit ++, nur dass das in vielen (aber nicht allen) Fällen automatisch zu + reduziert wird.
Eine automatische Umwandlung wird übrigens auch (unterschiedlich) vorgenommen, wenn man bspw 2**5 oder =2**5 schreibt.
Gruß, Luc :-?
„Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit …

Anzeige
Unsinn
16.05.2019 20:37:54
WF
in A1 steht =--("3")
in A2 steht =++("3")
in B1 steht =ISTZAHL(A1)
in B2 steht =ISTZAHL(A2)
Was siehst Du ?
WF
Ich hatte allein die Doppelschreibung gemeint, ...
17.05.2019 01:46:08
Luc:-?
…Walter,
nicht unbedingt die einfache Umwandlung einer TextZahl in eine Zahl damit, was missverständlich ausge­drückt war. Schreibt man ++3, macht Xl daraus =+3; schreibt man gleich letzteres, entfällt ein +; schreibt man ++"3", wird daraus =++"3", bleibt also Text. Das ist genauso, als ob man ++"x" schreiben würde, bei dem auch =++"x" herauskäme. Überprüft man aber andere Möglichkeiten, wie bspw ++"1"++"2", wird daraus =++"1"++"2" und letztlich die Zahl 3, weil das 2.++ (zT) als Operator fungiert.
Das wird daran liegen, dass ein einfaches ++ nur ein Marker für eine Fml und + als Vorzeichen überflüssig, weil Standard, ist und somit, solange also keine RechenOperation (nebst Umwandlung) statt­findet, auch keine +-Komponente als Operator verwendet wird. Dagegen löst ein -- immer eine RechenOperation aus → Negation*!
Außer den oben gezeigten **-Fällen kann man keinen anderen Operator außer + und - verdoppeln (wobei % nicht zählt, da es kom­ple­xer ist und /100 bedeutet). Allerdings kann man das o.g. ** auch mit negativem Exponenten angeben und erhält so sofort Dezimalwerte auch für ‰ und weitere.
* Es kann auch gut sein, dass die Zahl dann tatsächlich nur bitweise doppelt negiert, nicht multipliziert wird, denn dafür gibt es blitzschnelle Prozessor-Routinen; Multiplikation ist idR aufwendiger.
Gruß, Luc :-?
Anzeige
Die Doppelschreibung ist für die Typumwandlung
17.05.2019 07:53:10
Daniel
unwichtig!!
Für die Umwandlung von Text in Zahl reicht ein einfaches "-" aus: =-"1" ergibt die Zahl -1
das zweite "-" wird eingesetzt, weil man in den meisten Fällen den positiven Wert haben will und nicht den negativen.
Hintergrund dürfte folgender Zusammenhang sein:
Excel führt die implizite Typumwandlung immer nur im Rahmen einer Rechenoperation durch, dh keine Operation, keine Umwandlung.
damit eine Rechenoperation durchgeführt wird, muss der Formeltext folgende Syntax aufweisen:
"Wert & Operator & Wert"
die Syntax "Operator & Wert" oder "Wert & Operator" führt zu einem Fehler, weil für eine Operation zwei Werte benötigt werden. (das "+" alleine am Anfang ist bildet hier als potentielles Vorzeichen die Ausnahme)
weiterhin dürfte es so sein, dass Excel keine Subtraktionen durchführt, sondern eine Subtraktion immer eine Addition ist, bei der der der zweite Summand zuvor negiert, dh mit -1 multipliziert wird.
"-" ist also die Kurzschreibweise für +(-1)* und der Formeltext =-"1" wird intern umgewandelt in =+(-1)*"1".
Damit sind die Anforderungen für eine Operation erfüllt (Wert & Operator & Wert) und die Operation incl Typumwandlung kann ausgeführt werden.
gleiches bei "%" welches die Kurzschreibweise für /100 ist, auch hier ergibt ="1"% intern ="1"/100 und die Anforderungen für das Durchführen der Operation sind erfüllt.
bei "+", "*" und "/" findet intern keine Formelerweiterung statt dh wir haben weiterhin nur einen Wert mit Operator, so dass ein Fehler erkannt wird (außer bei "+")
Gruß Daniel
Anzeige
Für Typumwandlung reicht ein Vorzeichen, ...
22.05.2019 19:54:55
Luc:-?
…das ist richtig, Daniel,
weshalb ich ja auch von DoppelNegation spreche, wenn man ein evtl vorhandenes ursprüngl Vorzeichen behalten will. Was nun tatsäch­lich intern passiert, Negation oder Multiplikation, wissen wir nicht, erstere wäre aber naheliegend, da einfacher. Das würde ggf auch stüt­zen, was Lupo unten festgestellt hat. 0+ und 1* dürften aber immer zu den entsprd RechenOperationen führen.
Luc :-?
Nachfragen können sensibilisieren
16.05.2019 18:04:06
lupo1
... wer 1* nicht nachfragt, der merkt auch nicht, wofür es da sein soll. Bei -- wird er dazu gezwungen, da er sonst seinen eigenem intellektuellen Anspruch nicht genügt. Dem Grundstolz sozusagen.
Somit dient das -- der Rettung einer armen Seele.
Amen. Ohne R.
Anzeige
bei WERT() könnte er es selber nachlesen
16.05.2019 18:10:42
Daniel
die Frage bleibt, warum die Antworter "--" verwenden und nicht das eigentlich dafür vorgesehene WERT().
Weil die sie weitere Nachfrage provozieren wollen?
Oh Mann...
16.05.2019 18:59:10
{Boris}
...ihr habt Probleme...
@WF: Nur weil das -- nicht auf "unserem" Mist gewachsen ist, muss es nicht verwerflich sein.
@Daniel: Es gibt viele Funktionen, die anders dargestellt werden. Beispielweise habe ich noch nie die Funktion WURZEL benutzt - =Zahl^0,5 bringt das selbe Ergebnis.
Mehrere Bedingungen (außerhalb einer Matrix) fragt auch kaum noch einer mit UND ab, sondern multipliziert sie. Manche Dinge haben sich einfach inzwischen "eingebürgert".
Wollte hier auf keinen Fall "klugscheißern" oder irgendwelche "Nachfragen provozieren".
VG, Boris
Anzeige
Sehr richtig! ;-) Gruß owT
16.05.2019 20:15:23
Luc:-?
:-?
Weil =WERT() ...
16.05.2019 21:37:07
lupo1
... in alten Excelzeiten eine der damals knappen 8 Verschachtelungsebenen verschlissen hätte.
Außerdem ist es länger zu schreiben, so wie WURZEL auch.
AW: Weil =WERT() ...
17.05.2019 00:44:12
Daniel
ja, das mit den Klammern war mal früher ein Grund.
heute ja für die meisten nicht mehr.
ein paar Zeichen mehr oder weniger, für jemanden der noch richtig Tippen kann, keine große Sache, und für jemanden, der der nicht schnell tippen kann auch nicht, wenn er die Hilfsmittel, die ihm Excel zur verfügung stellt, zu nutzen weiß.
Gruß Daniel
Für mich ist WERT Affentanz ...
17.05.2019 08:12:22
lupo1
... schöner wäre es, wenn Excel Textwerte gleich von selbst als Werte, wo nötig, interpretierte.
Allerdings würde dann die Geschwindigkeit sinken, und daher ist es mit -- gut so, wie es ist.
Anzeige
dann bist du doch der gleichen Meinung
17.05.2019 09:04:23
Daniel
wie ich.
was anderes bedeutet meine ursprüngliche Aussage ja nicht.
"--" sieht einfach besser aus als "Wert()"
Warum man darüber jetzt so lange diskusstieren muss, verstehe ich nicht
Wenn wir das sind (der gleichen Meinung), ...
17.05.2019 10:41:27
lupo1
... dann ist es ja gut, und wir trinken einen Frühschoppen drauf.
dann könntest du mir auch nochmal erklären
17.05.2019 13:53:28
Daniel
wie du das mit den Rückfragen des Anwenders gemeint hast.
musste erst mal suchen ...
18.05.2019 12:29:49
lupo1
... um dann festzustellen:
-- fällt sofort auf.
1* eben nicht.
Das ist ganz einfach schon grafisch-haptisch-ästhetisch so.
A(r)me Seele hin oder her.
Könnte auch rech'technisch anders gelöst sein! owT
18.05.2019 15:46:08
Luc:-?
:-?
dh privat für dich verwendest du Wert()?
16.05.2019 21:39:34
Daniel
und das "--" nur im Forum (denn nur wäre das mit dem Nachfragen ja sinnvoll)
Gruß Daniel
Nö ... mir hat WERT() noch nirgends geholfen ...
17.05.2019 08:02:31
lupo1
... und ich habe es in 27 Jahren Excel (vorher: Lotus 123 und Symphony) noch nicht einmal erwogen.
Also mir gefällt --.. VIELEN DANK AN ALLE ;c)
17.05.2019 08:56:27
ChrisW
... ich wäre nur nie auf die Idee gekommen es als "Zahl in Text" umwandler zu verstehen, abefr, ja (-1) * (-1) funktioniert genauso wie (*1) oder Wert().
Also durch Eure Diskussion habe ich einiges dazugelernt, und das ist für mich die Hauptsache.
EUCH ALLEN EINEN HERZLICHEN DANK, ich hätte nie gedacht das ich mit der kleinen Frage nach der Bedeutung von "--" so eine Diskussionswelle auslöse.
Liebe Grüße
ChrisW
WERT ist ungefähr so 'wert'-voll wie VERKETTEN, …
17.05.2019 20:20:34
Luc:-?
Folks;
während letzteres bequem durch &-Konstruktionen ersetzt wdn kann, kann man für ersteres (Doppel-)Nega­tion, Multiplikation oder Addi­tion verwenden. MS schreibt ja in der Hilfe, dass die Fkt eigentlich nicht erforderlich, sondern nur aus Kompatibilitätsgründen in Xl enthalten ist. Nebenbei, das war bspw ZELLE auch mal, wurde aber inzwischen weiter ausgebaut, während VERKETTEN in der Xl-Hilfe auch einen &-Ersatz-Hinweis enthält.
WERT fktioniert ebenso wie -- & Co nur mit den eingestellten Tsder- u/o DezimalTrennern in einer TextZahl. Das unterscheidet die Xl-Fkt von den vbFktt, die ggf nur mit DezimalTrennern fktio­nieren, während als evtl TsderTrenner stets nur Leerzeichen relevant ist, weil es innerhalb von TextZahlen generell ignoriert wird. Dabei akzeptiert Val nur den DezimalPkt, während CDbl (wie WERT) den einge­stell­ten DezimalTrenner verwendet und nichts sonst. Es fehlt also eine Fkt*, die neben den lokalen Trennern wenigstens auch noch die ori­gi­nalen berücksichtigt.
* Eine solche habe ich seit 10 Jahren zV → T2Nb.
Gruß, Luc :-?
Hier ein Bsp., welches WF's Geschmack stützt
22.05.2019 07:15:52
lupo1
https://www.libreoffice-forum.de/viewtopic.php?f=6&t=22135
LO kommt hier bei -- ins Trudeln; bei 1* nicht. Wer also portabel designen möchte, nimmt 1*.
LO/OOcalc ist anders konstruiert, ...
22.05.2019 18:38:19
Luc:-?
…Lupo,
speziell sein FmlText-Interpreter. Folglich muss man ohnehin damit rechnen, dass nicht alles aus Xl in LO/OOcalc ebenfalls bzw genauso fktioniert (schon gar nicht BedingtFormatierung!). Xl rechnet zB 3dimensional und wählt dann aus dem Ergebnis aus, was abbildbar ist. LO/OOcalc scheint gleich auszuwählen* und dann erst zu rechnen. Das mag rationeller sein, führt aber zu abweichender Ergebnis­Dar­stel­lung. Xl hat also diverse Alleinstellungsmerkmale!
* Könnte ich nur mit UDF testen, die dann aber zuvor für den VBA-Adapter von LO/OOcalc normiert wdn müsste, denn der versteht manche durchaus üblichen VBA-Schreibweisen nicht.
Gruß, Luc :-?
AW: String per Formel auslesen
16.05.2019 13:18:24
Günther
Moin,
wenn es "nur" um die Summierung der Frucht-Arten geht, dann bietet sich Power Query als Alternative ohne Formeln an. Die Kreuztabelle fällt dann aber weg.
Gruß
Günther

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige