Microsoft Excel

Herbers Excel/VBA-Archiv

zahlen trennen und auflisten

Betrifft: zahlen trennen und auflisten von: Dani
Geschrieben am: 18.10.2014 19:20:42

guten Abend

Ich erhalte bei einem Export aus einem externen Programm welches wir in der Firma einsetzen, die Daten in Excel unformatiert.

In Zelle A1 erhalte ich z.B den Wert 251-260. Gibt es irgend eine Funktion diese Zahlen zu trennen und jeden Wert der zwischen diesem "Text" steht, Einzel aufzulisten.
Also
A2 = 251
A3 = 252
A4 = 253
usw. bis
A11 = 260

Danke und Gruss
Toto

  

Betrifft: AW: zahlen trennen und auflisten von: Dani
Geschrieben am: 18.10.2014 19:30:54

Habe noch vergessen meine Lösung anzuhängen.

https://www.herber.de/bbs/user/93228.xlsm

Kommt mir aber zu kompliziert vor. Da es jeden Tag zirka 50 solche Einträge sind und ich diese gerne für den ganzen Monat aufbereiten möchte.


  

Betrifft: AW: zahlen trennen und auflisten von: Hajo_Zi
Geschrieben am: 18.10.2014 19:37:45


Tabelle4

 A
1251-260
2251
3252
4253
5254
6255
7256
8257
9258
10259
11260
12 
13 

verwendete Formeln
Zelle Formel Bereich N/A
A2=LINKS(A1;SUCHEN("-";A1)-1)*1  
A3:A13=WENN(A2="";"";WENN(A2*1+1>TEIL($A$1;SUCHEN("-";$A$1)+1;LÄNGE($A$1))*1;"";A2+1))  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.19 einschl. 64 Bit



GrußformelHomepage


  

Betrifft: AW: zahlen trennen und auflisten von: Dani
Geschrieben am: 18.10.2014 19:54:09

Danke Hajo_Zi
an sowas dachte ich.


  

Betrifft: AW: zahlen trennen und auflisten von: Hajo_Zi
Geschrieben am: 18.10.2014 19:56:10

warum offen?

Gruß Hajo


  

Betrifft: AW: zahlen trennen und auflisten von: Dani
Geschrieben am: 18.10.2014 20:07:21

sorry mein Fehler


  

Betrifft: alternativ mit nur einer Formel ... von: neopa C (paneo)
Geschrieben am: 18.10.2014 20:15:54

Hallo Dani,

... nachfolgende Formel nach unten und rechts kopieren:

 ABC
1251-260272260-265
2251272260
3252 261
4253 262
5254 263
6255 264
7256 265
8257  
9258  
10259  
11260  
12   

Formeln der Tabelle
ZelleFormel
A2=WENN(MAX(A$1:A1)-WENNFEHLER((ZEILE(A1)=1)*A$1;0)>WECHSELN(TEIL(A$1&"-1";FINDEN("-";A$1&"-1")+1;9); "-1";"")-1;"";LINKS(A$1&"-1";FINDEN("-";A$1&"-1")-1)-1+ZEILE(A1))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4



Gruß Werner
.. , - ...


  

Betrifft: Ich beobachte gerade ein recht merkwürdiges ... von: Luc:-?
Geschrieben am: 20.10.2014 03:47:16

…Verhalten deiner Formel, Werner,
was möglicherweise in 1.Linie daran liegt, dass du die OriginalZeile deines Bsps mit $A1:A1 direkt in die Fort­schreibungs­reihen­folge der Fml einbezogen hast. Ich hatte nun mit einer anderen StartZelle begonnen, den genannten Eintrag aber so belassen, weil in A1:C1 auch bei mir die OriginalZeile steht. Sie hat dann trotzdem fktioniert nur in Spalte A & C 1× zu weit gezählt. Dann habe ich das direkt auf meine StartZelle korrigiert und es wurde ganz richtig, nur hatte Xl offen­sichtlich Probleme mit dem eigentlich letzten und einem poten­ziellen Folgewert, der bei dir leer ist. Jedenfalls sprang die Anzeige bei der Berechnung ständig zwischen den beiden Zellen hinundher und zeigte mal 260, mal 261 (bzw 265/266). Übrigens hatte ich eine neue Tabelle für die Tests, allerdings in einer übervollen TestMappe, angelegt (meine eigenen MatrixFmln verhielten sich dagg die ganze Zeit friedlich). Nachdem sich endlich alles beruhigt hatte und ich die Bezugszeile direkt vor die Fmln setzen konnte, war dann Ruhe und alles richtig.
Damit dürfte es aber mit deiner Fml womöglich ähnliche Probleme geben, wenn die Fort­schreibungs­Fmln nicht unmittelbar auf die Original­Daten folgen, was bei meinen zT UDF-gestützten MxFmln nicht relevant ist!
Variante1: 3 gleiche mehrzellige Spalten-MxFmln (Länge: 146 Zeichen gg deine mit 167)
A3:A12[;B3:C12]: {=WENN(ZÄHLENWENN(A1;"*-*")=1;Splint(A1;"-")+ZEILE(INDIREKT("1:"&Splint(A1;"-";1;1;1)-Splint(A1;"-"; 1;1)+1))-1;WENNFEHLER(A1/(ZEILE(1:2)=1);#NV))}
Die verwendete UDF ist (in älterer Version) im Archiv zu finden.
Variante2: 1 mehrzellige MxFml für alle 3 Spalten (den ganzen Bereich, Länge: 249 Zeichen)
A15:C24: {=WENNFEHLER(INDEX(TempStoRd(SplitVx(INDEX(WENN(ISTZAHL(VERGLEICH("*-*";INDEX(A1:C1;SPALTE(A:C));0)); A1:C1;A1:C1&"-0");1;SPALTE(A:C));"-"));1)+ZEILE(INDIREKT("1:"&INDEX(TempStoRd();2)-INDEX(TempStoRd();1)+1))-1; WENNFEHLER(A1:C1/(ZEILE(1:2)=1);#NV))}
Die hervorgehobenen UDFs stehen dir (u.robert) in der PrinzipL4 zV und sind ggf (in abgerüsteter Version) ebenfalls im Archiv zu finden.
Gruß, Luc :-?


  

Betrifft: ist aber nicht merkwürdig ... von: neopa C (paneo)
Geschrieben am: 20.10.2014 09:36:27

Hallo Loki,

... sondern außer meiner Sicht normal. Meine Formel war genau so konstruiert, dass die Auflistung unmittelbar unter der Vorgabe beginnt. Wenn die Listing wo anders beginnen soll, dann müßte ich die Konstruktion natürlich dementsprechend anpassen. Aber Dani hat sich ja noch nicht geäußert.

Gruß Werner
.. , - ...


  

Betrifft: Naja, das dürfte ja nicht immer so sein, ... von: Luc:-?
Geschrieben am: 20.10.2014 09:49:50

…Werner,
aber solange der Kunde nicht meckert… ;-)
Wahrscheinlich hing das auch mit zugelassenen Iterationen zusammen. Ansonsten war mein Beitrag gleichzeitig aber auch ein Hinweis auf eine Praxis­Einsatz­Möglich­keit von UDFs, über die du ebenfalls verfügst… ;-)
Einfach mal nachvollziehen!
Morrn, Luc :-?


  

Betrifft: nun, das wäre aber kein Problem ... von: neopa C (paneo)
Geschrieben am: 20.10.2014 15:18:20

Hallo Luc,

... meine Formel bedarf dann nur einer kleinen Ergänzung im MAX()-Formelteil.

Angenommen das Listing soll ab Zeile 7 beginnen; dann eben einfach anstelle:
=WENN(MAX(A$1:A1)... folgende Formelbeginn in A7: =WENN(MAX(A$1;A$6:A6) ...

Mir ist momentan noch unklar, was Du mit "Wahrscheinlich hing das auch mit zugelassenen Iterationen zusammen" genau meinst.


Gruß Werner
.. , - ...


  

Betrifft: Bei mir, die Iterationen! owT von: Luc:-?
Geschrieben am: 20.10.2014 16:12:14

:-?


 

Beiträge aus den Excel-Beispielen zum Thema "zahlen trennen und auflisten"