Collapse column

Autor Thema: Office 2016 Zahlen (Abmessungen) aus einer Zellen mit Texten in eigene Spalten  (Gelesen 741 mal)

Offline Jochen_Sch

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2016
Hallo zusammen,

wie kann ich in Excel aus einer Zelle in der Zahlen und Text vermischt ist die Zahlenwerte in eigene Spalten extrahieren?
Hier ein Beispiel:
In der Zelle H121 steht folgendes: "Verpackungsrohr 4,3x6,9cm zu #7637"; Hier soll der Wert 4,3 in die Spalte Z121 und der Wert 6,9 soll dann in AA121.

Spaltenüberschrift von Z: Länge
Spaltenüberschrift von AA: Breite
Spaltenüberschrift von AB: Höhe
Spaltenüberschrift von AC: Durchmesser


Herausforderung:
Da es eine größere Datei ist und die Maßangaben auch mit anderen Werten und Formaten (Stellen vor und hinter dem Komma ist unterschiedlich). Weiterhin kann es sein, dass es nur ein Wert gibt oder auch 3 oder 4 Werte. Die Kombination "mm" oder "cm" oder "m" sind im Regelfall immer mit angegeben sowie das Zeichen "X" dass aber mal groß oder auch klein und mal mit und ohne Leerzeichen gechrieben ist.

Weitere Herausforderung:
In Spalte AC sollen Zahlenwerte, die entweder Symbole "ø" oder das Wort Durchmesser oder das Wort "DM" (egal ob Groß oder Kleingeschrieben) steht.
Beispiel: Zelleninhalt H452: "Halterung RAL9006 PP GF30 2012 ø50,8mm Label silber"
Hier soll nur der Wert 50,8 in die Zelle AC452.

Ich kann ja in jede Spalte eine eigene Formel hinterlegen, aber welche Formel muss wo rein?

Spaltenüberschrift von Z: Länge
Formel: ??

Spaltenüberschrift von AA: Breite
Formel: ??

Spaltenüberschrift von AB: Höhe
Formel: ??

Spaltenüberschrift von AC: Durchmesser
Formel: ??

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw:Office 2016 Zahlen (Abmessungen) aus einer Zellen mit Texten in eigene Spalten
« Antwort #1 am: Januar 19, 2018, 09:54:43 Vormittag »
Hallo,

das wird - ob nun per Formel oder VBA - nur funktionieren, wenn eine Regel aus den einzelnen Texten hergeleitet werden kann.
Ansonsten wird's immer Fehler geben. Z.B. hier "Verpackungsrohr 4,3x6,9cm zu #7637" könnte man sagen, finde das Leerzeichen
vor der 4 und nach cm und parse den Textteil. Klappt hiermit "Halterung RAL9006 PP GF30 2012 ø50,8mm Label silber" schon
nicht mehr.

Somit: das Finden einer gültigen Parserregel für alle Texte wäre die eigentliche Aufgabe.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline lupo1

  • Sr. Member
  • ****
  • Beiträge: 250
    • Profil anzeigen
  • Office-KnowHow: Anfänger
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2010
Antw:Office 2016 Zahlen (Abmessungen) aus einer Zellen mit Texten in eigene Spalten
« Antwort #2 am: Januar 19, 2018, 10:41:17 Vormittag »
Z121[:AC121]:
=WENNFEHLER(
WENN(SPALTE(Z121)=29;
--TEIL(WECHSELN(TEIL($H121;SUCHEN("ø";$H121)+1;99);"mm";" ");1;SUCHEN(" ";TEIL($H121;SUCHEN("ø";$H121)+1;99))-2);
--GLÄTTEN(TEIL(WECHSELN(GLÄTTEN(WECHSELN(WECHSELN($H121;"x";" ");"cm";" "));" ";WIEDERHOLEN(" ";99));SPALTE(B121)*99-98;99)))
;"")


Den Rest: manuell oder WECHSELN-Erweiterungen um cm und m (m als letztes!)
« Letzte Änderung: Januar 19, 2018, 11:22:43 Vormittag von lupo1 »
MfG Lupo1 (und natürlich gern auch Hallo!)

Offline Jochen_Sch

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2016
Antw:Office 2016 Zahlen (Abmessungen) aus einer Zellen mit Texten in eigene Spalten
« Antwort #3 am: Januar 19, 2018, 11:30:20 Vormittag »
Hallo Lupo1,

vielen Dank für die schnelle Hilfe.
1. Frage:
Worauf soll sich "SPALTE(B121)" beziehen? Was sollte hier drinn stehen oder soll dieser Bezug auf eine "leere" Zelle sein?

2. Frage:
Ich habe diese Formel in Spalte Z, AA, AB und AC eingefügt und bekomme aber leider nur die ersten beiden Spalten "Z" und "AA" mit den richtigen Werten gefüllt. Die beiden anderen Spalten "AB" und "AC" werden leider nicht gefüllt mit Werten.

Beispiel:
Spalte H2881 = "Verdrahtungskanal steingrau PVC 2000x60x60mm"
Formel in Zelle Z2881:
=WENNFEHLER(WENN(SPALTE(Z2881)=29;--TEIL(WECHSELN(TEIL($H2881;SUCHEN("ø";$H2881)+1;99);"mm";" ");1;SUCHEN(" ";TEIL($H2881;SUCHEN("ø";$H2881)+1;99))-2);
--GLÄTTEN(TEIL(WECHSELN(GLÄTTEN(WECHSELN(WECHSELN($H2881;"x";" ");"cm";" "));" ";WIEDERHOLEN(" ";99));SPALTE(B2881)*99-98;99)));"")

Wert in Zelle Z2881: 60,00

Formel in Zelle AA2881:
==WENNFEHLER(WENN(SPALTE(AA2881)=29;--TEIL(WECHSELN(TEIL($H2881;SUCHEN("ø";$H2881)+1;99);"mm";" ");1;SUCHEN(" ";TEIL($H2881;SUCHEN("ø";$H2881)+1;99))-2);
--GLÄTTEN(TEIL(WECHSELN(GLÄTTEN(WECHSELN(WECHSELN($H2881;"x";" ");"cm";" "));" ";WIEDERHOLEN(" ";99));SPALTE(C2881)*99-98;99)));"")

Wert in Zelle AA2881: leeres Feld

Formel in Zelle AB2881:
==WENNFEHLER(WENN(SPALTE(AB2881)=29;--TEIL(WECHSELN(TEIL($H2881;SUCHEN("ø";$H2881)+1;99);"mm";" ");1;SUCHEN(" ";TEIL($H2881;SUCHEN("ø";$H2881)+1;99))-2);
--GLÄTTEN(TEIL(WECHSELN(GLÄTTEN(WECHSELN(WECHSELN($H2881;"x";" ");"cm";" "));" ";WIEDERHOLEN(" ";99));SPALTE(D2881)*99-98;99)));"")

Wert in Zelle AB2881: leeres Feld

Formel in Zelle AC2881:
==WENNFEHLER(WENN(SPALTE(AB2881)=29;--TEIL(WECHSELN(TEIL($H2881;SUCHEN("ø";$H2881)+1;99);"mm";" ");1;SUCHEN(" ";TEIL($H2881;SUCHEN("ø";$H2881)+1;99))-2);
--GLÄTTEN(TEIL(WECHSELN(GLÄTTEN(WECHSELN(WECHSELN($H2881;"x";" ");"cm";" "));" ";WIEDERHOLEN(" ";99));SPALTE(E2881)*99-98;99)));"")

Wert in Zelle AC2881: leeres Feld


Wo könnte mein Fehler liegen?



Offline lupo1

  • Sr. Member
  • ****
  • Beiträge: 250
    • Profil anzeigen
  • Office-KnowHow: Anfänger
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2010
Antw:Office 2016 Zahlen (Abmessungen) aus einer Zellen mit Texten in eigene Spalten
« Antwort #4 am: Januar 19, 2018, 11:41:31 Vormittag »
Da es eine Universal-Formel ist, bleibt entweder Z:AB oder AC frei.

AB klappt aus folgenden Gründen nicht:
- Du musst auch mm und m WECHSELN, nicht nur cm (im SONST-Teil). Das hatte ich schon gefordert.
- Das Parsing (siehe maninweb) klappt nicht, weil Du Feldtrenner auch als Worttrenner einsetzst. Das ist Dir also auch bekannt. Daher dann leider manuell:

"VerdrahtungskanalsteingrauPVC 2000x60x60mm" statt
"Verdrahtungskanal steingrau PVC 2000x60x60mm"
« Letzte Änderung: Januar 19, 2018, 11:49:47 Vormittag von lupo1 »
MfG Lupo1 (und natürlich gern auch Hallo!)

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.