Zielwerte ausgeben
#1
Liebe Community

Ich hoffe geht Euch gut

Vor mir liegt das folgende Problem:

- Beim exportieren eines Tabellenblattes (Beispieltabelle siehe im Anhang.) aus unserem ERP sind die Verpackungsgrössen (Spalte B) in eine Zelle eingetragen (PL = Pallet, TU = Transport Unit, CU = Consumer Unit, Stück) etc...
nun möchte ich folgendes:

Die Werte voneinander trennen (siehe Spalte C, D, E, F) bzw. wenn der Text "PL" vorkommt und ein Zahl vor dem steht in die jeweilige Zeile eintragen, dabei die Komma zu beachten usw.
Ausnahme: wenn "Stück" vorkommt, gibt es eine Leerzeile zwischen dem Wert und Text, ansonsten nicht.

Könnt ihr anhand dieses Beispiels helfen?

Beste Grüsse
Dev


Angehängte Dateien
.xlsx   Beispieltabelle_Verpackungsgrössen.xlsx (Größe: 4,84 KB / Downloads: 16)
Antworten Top
#2
Hallo,

in Anbetracht der von Dir angegebenen Excel-Version, versuche es mal mit dieser Formel, die sich dann auf die anderen Zellen AutoAusfüllen lässt ...

Code:
C2=WENN(WENNFEHLER(FINDEN(C$1;","&$B2);0)>0;GLÄTTEN(RECHTS(WECHSELN(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1);",";"$";
   LÄNGE(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1))-LÄNGE(WECHSELN(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1);",";"")));
   LÄNGE(WECHSELN(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1);",";"$";LÄNGE(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1))-
   LÄNGE(WECHSELN(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1);",";""))))-FINDEN("$";WECHSELN(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1);",";"$";
   LÄNGE(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1))-LÄNGE(WECHSELN(LINKS(","&$B2;FINDEN(C$1;","&$B2)-1);",";""))))));"")

Für diejenigen, die ein Excel haben, das dynamische Arrays und LET kann, geht auch folgendes ...

Code:
C2=LET(Array;XMLFILTERN("<r><e>"&WECHSELN($B2;",";"</e><e>")&"</e></r>";"//r/e");Position;WENNFEHLER(VERGLEICH("*"&C$1&"*";Array;0);0);
   WENN(Position>0;--GLÄTTEN(WECHSELN(INDEX(Array;Position;1);C$1;""));""))

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
[-] Folgende(r) 1 Nutzer sagt Danke an maninweb für diesen Beitrag:
  • dev1l
Antworten Top
#3
Hallo Dev,

alternativ zu den Formeln eine Lösung mit VBA-Fkt. Diese geht auch mit älterem Excel.

Gruß Sigi


Angehängte Dateien
.xlsm   Menge lesen.xlsm (Größe: 16,89 KB / Downloads: 1)
[-] Folgende(r) 1 Nutzer sagt Danke an Sigi.21 für diesen Beitrag:
  • dev1l
Antworten Top
#4
Liebe maninweb

Vielen Dank für die ausführliche Beispiel. Was ich dabei vergessen habe, zu sagen ist, dass es sich hier um eine GoogleSheet handelt - somit nichts mit den Excel Version zu tun, jedoch wäre interessant zu wissen, ob diese in Betrachtung gezogen werden soll oder nicht.

Ich probiere Mal der Formel aus und melde mich wieder..

Allenfalls, vielen Dank nochmal

Lg
Dev

Liebe Sigi

Danke auch für die tolle VBA Lösung, habe explizit nicht erwähnt, dass hier um eine GoogleSheet Datei handelt, und trotzdem Danke / Sorry für den Aufwand.

Lg
Dev
Antworten Top
#5
Hallo,

in Google Sheet mit Zwischenergebnissen.

1. Über Daten Text in Spalten die zweite Spalte aufteilen.

2. Entpivotieren mit Arrayformel (in  G2), Überschriften habe ich manuell eingetragen.

3. Zahl und Text trennen mit Split() Spalte I und J

4. Daraus eine Pivottabelle erstellen (Auf den zweiten Blatt)

Code:
hXXXps://docs.google.com/spreadsheets/d/12eSCqaU4pDrK-K06gk2ooN6Ics8XGjMTMnXGL2GvYMU/edit?usp=sharing

HXXXpS bitte ersetzen, Link würde sonst nicht angezeigt.
Cadmus
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste