Anzeige
Archiv - Navigation
1828to1832
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

Zelle mit Formel mehrmals trennen

Zelle mit Formel mehrmals trennen
05.05.2021 15:48:51
Sandra
Hallo zusammen,
ich stehe aktuell vor dem Problem, dass ich eine Zelle mit Textinhalt habe.
Zum Beispiel:
A1:
[apfel, menge: 1, birne, menge: 3, kiwi, menge: 1]
Die Textlängen sind unterschiedlich.
Ich würde gerne die Zelle splitten, sodass B1 = 1, C1=3 und D3= 1 ist.
Das Wort menge ist immer gleich und müsste als Suchbegriff dienen.
Vielen Dank

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit einer Formel ...
05.05.2021 16:13:03
neopa
Hallo Sandra,
... schreibe dazu wie nachfolgend aufgezeigt, die Produktbezeichnung in B1:C1.
Dann kannst Du die Formel B1 nach rechts und unten ziehend kopieren. Wenn Du die Begriffe nicht in Zeile 1 schreibe möchtest, dann ersetze die Zellbezüge durch deren Textbezeichnung:
 ABCD
1 apfelbirnekiwi
2apfel, menge: 1, birne, menge: 3, kiwi, menge: 1131
3apfel, menge: 15, birne, menge: 7, kiwi, menge: 91579
4    

ZelleFormel
B2=(LINKS(TEIL($A2;FINDEN(B$1;$A2&",")+LÄNGE(B1)+8;16);FINDEN(",";TEIL($A2;FINDEN(B$1;$A2)+LÄNGE(B1)+8;16)&",")-1))+0
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
GLÄWEXWDH
05.05.2021 19:44:44
lupo1
B1: =--TEIL(WECHSELN(WECHSELN(WECHSELN($A1;",";);"]";);" ";WIEDERHOLEN(" ";99));SPALTE(A1)*3*99-98;99)
nach rechts kopieren
AW: hast Recht, ist so einfacher, doch ...
06.05.2021 09:28:56
neopa
Hallo lupo,
... für jemanden wie Sandra der "Kaum Excel-Kenntnisse" für sich ausweist, ist Deine Lösungsart mE wohl ohne Zusatzinformationen kaum nachzuvollziehen. Könntest doch gleich auf Deine Erklärungen: https://www.office-hilfe.com/support/threads/string-oder-csv-mit-trennzeichen-per-formel-auf-zellen-aufteilen.22254/ dazu verlinken.
Wobei hier im thread Deine Betreffbezeichnung wohl richtiger: --TEILWEXWDH lauten sollte. Du müsstest dazu ergänzend noch erklären, dass hier das GLÄTTEN() ersetzt wurde durch eine mathematische Operation: -- ("doppelte Negation"). Dies weil damit nicht nur die zuvor zielorientiert eingeWECHSELN()ten vielen temporären Leerzeichen wieder eliminiert werden und gleichzeitig als Ergebnis ein echter Excel-Zahlenwert erzeugt wird. Da sonst für eine beliebige Ergebniszeichenfolge (ohne Leerzeichen) das extrahieren der temporären Leerzeichen für die angestrebte Zieltextwerte GLÄTTEN() genutzt wird. Da hier aber als Ergebnis die Zeichenfolge eine Ziffernfolge ist und diese als echte Zahl weiterverwendbar sein soll, ist der Einsatz der -- Operation effektiver, da damit vorhandene Leerzeichen vor und nach einer Ziffernfolge auch einfach gleich eliminiert werden.
Gruß Werner
.. , - ...
Anzeige
Danke für den kostenlosen Service! :-)
06.05.2021 09:53:05
lupo1
... aber ich bleibe bei GLÄWEXWDH als Bezeichnung. Das Kind hat einen Namen. Durch das GLÄ... leicht zu ergoogeln. Dass GLÄTTEN nicht immer dabei ist, ist völlig egal. Die Formel muss auch in anderen Belangen immer angepasst werden (19,59,99,299,599..., Anzahl WECHSELNs, 365-dynamisch oder nicht, ...).
Zur Verständlichkeit: Stimmt, FINDEN-TEIL ist sehr viel einfacher zu verstehen ;) Wir sind übrigens nicht gehalten, zu erklären, sondern nur zu lösen. Erklären kann man auf Nachfrage immer noch. Ich wüsste nicht, dass ich der einzige bin, der nicht erklärt. Und manchmal erkläre ich auch.
Anzeige
Probiere es mal mit...
06.05.2021 08:47:08
Case
Hallo Sandra, :-)
... dieser UDF: ;-)
Beispieldatei...
In deiner Excelversion musst du die Eingabe der Formel wohl mit "STRG+UMSCHALT+ENTER" beenden. In der 365ger Version wird die Formel automatisch erweitert. ;-)
Servus
Case
nochmal, Formel korrekt:
06.05.2021 15:53:43
Daniel
in B1 diese Formel und dann nach rechts ziehen
=INDEX(XMLFILTERN("<a><b>"&WECHSELN(WECHSELN($A1;" menge: ";"");",";"</b><b> ")&"</b></a>";"//b");(SPALTE()-1)*2)
Gruß Daniel
Anzeige
AW: gibt aber in meinem XL2016 nur #WERT! owT
06.05.2021 16:09:30
neopa
Gruß Werner
.. , - ...
Daniel zitiert ja nie,sondern schmückt sich selbst
06.05.2021 16:43:14
lupo1
Die korrekte Formel steht auch in dem Link zu GLÄWEXWDH, den Du freundlicherweise nanntest, neopa. Sie geht ab xl2013, da XMLFILTERN ab dann vorhanden ist. In Excel-Online fehlt sie, da MS online keinen Web-Import möchte. Ausnahme: BÖRSENHISTORIE ...
Dort steht auch ihre Herkunft (von einem Angelsachsen, dessen Name mir gerade entfallen ist; aufgespürt durch shift-del).
Ich hoffe, dass Danile nicht zu heiß in der Hölle schmoren muss deswegen. Der Gute! Er muss sich hier anscheinend immer beweisen.
AW: gibt aber in meinem XL2016 nur #WERT! owT
06.05.2021 16:52:52
Daniel
bei mir gehts, ebenfalls Excel 2016
dann hast du die Formel irgendwie verändert.
oder wendest sie auf einen Text ohne Kommas an, mindestens ein Komma wird benötigt, um einen gültigen XML-Text zu erstellen.
Gruß Daniel
Anzeige
AW: hatte Deine Formel von 15:51 einkopiert ...
07.05.2021 09:43:26
15:51
Hallo Daniel,
... und nicht die nicht die von 15:53. Mit letzterer kommt es zu einem korrekten Ergebnis.
Allerdings ziehe ich mir da die Formel von lupo vor.
Gruß Werner
.. , - ...
AW: hatte Deine Formel von 15:51 einkopiert ...
07.05.2021 13:50:20
15:51
das war auch die selbe Formel, nur hatte ich sie als Zitat formatiert und nicht bemerkt, dass auch Zitat nicht mit allen &lt und &gt zurecht kommt und dann seltsame Sachen macht.
ja das mit dem xml-Format ist nicht so schön, dafür setzt es allerdings die Split-Funktion aus VBA direkt um und erzeugt ein Array, das man dann entsprechend auswerten kann.
Gruß Daniel

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige