Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte in einer Spalte in Excel trennen

Werte in einer Spalte in Excel trennen
05.10.2017 12:21:55
Tommi
Hallo zusammen,
ich habe in einer Spalte (Textformat) 3 Zahlen (jede Zahl 5-15 Ziffern lang)
z.B in Spalte A:
1234 847575766 193495959
124324 24353 2352345234525
235 2523523523523 525235235
Gibt es eine Möglichkeit direkt in Excel die letzten beiden Zahlen 'sauber' rauszutrennen?
Also dass in Spalte B die mittlere Zahl und in Spalte C die rechte Zahl steht. Da die SPACES aber an variablen Stellen stehen, komme ich mit rechts(A1;Wert) oder so ja nicht wirklich weiter
LG,
Tommi
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text-in-Spalten owt
05.10.2017 12:29:43
Fennek
AW: Werte in einer Spalte in Excel trennen
05.10.2017 12:33:05
Luschi
Hallo Tommi,
warum googelst Du nicht: excel daten in spalte trennen
Da kommt alst erstes gleich dieser Link:
https://support.office.com/de-de/article/Aufteilen-von-Text-in-verschiedene-Spalten-mit-dem-Textkonvertierungs-Assistenten-30b14928-5550-41f5-97ca-7a3e9c363ed7
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Werte in einer Spalte in Excel trennen
05.10.2017 12:49:26
Tommi
Hallo Luschi,
sorry, mein Fehler, es fehlt noch die Zusatzinformation, dass vor den Zahlen manchmal noch etwas davor steht (Text) der leider auch Leerzeichen enthalten kann.
Damit greift das DATEN-Text in Spalten (mit Trenner SPACE) leider nicht :( - klar, ohne die Info wäre das der schnellste Weg gewesen. Ich suche halte irgendwie nach einer Herangehensweise, von rechts alles bis zum ersten Space zu trennen und danach bis zum übernächsten Space.
Per VBA kriege ich das hin, aber geht das auch irgendwie direkt in Excel?
LG,
Tommi
Anzeige
da freuen sich aber alle
05.10.2017 13:29:42
Rudi
Lupos Formel mit Zusatz:
=GLÄTTEN(TEIL(WECHSELN($A1;" ";WIEDERHOLEN(" ";99));(SPALTE(B1)+LÄNGE($A1)-LÄNGE(WECHSELN($A1;" ";)) -2)*99-98;99))
seeehr schöne Lösung owT
05.10.2017 12:48:12
Rudi
AW: Werte in einer Spalte in Excel trennen
05.10.2017 12:44:23
Rudi
Hallo,
die Mitte:
=--LINKS(WECHSELN(TEIL(A2;FINDEN(" ";A2)+1;99);" ";"#");FINDEN("#";WECHSELN(TEIL(A2;FINDEN(" ";A2)+1; 99);" ";"#"))-1)
rechts ist's leichter:
=--TEIL(A2;FINDEN("#";WECHSELN(A2;" ";"#";2))+1;99)
Gruß
Rudi
es geht um die letzte und vorletzte Zahl
05.10.2017 13:14:14
WF
Hi,
wie ich oben las ist das nicht der zweite und dritte Block.
die letzte:
=TEIL(A1;VERWEIS(9^9;FINDEN(" ";A1;ZEILE(1:999)))+1;50)
die vorletzte:
=LINKS(TEIL(A1;FINDEN("##";WECHSELN(A1;" ";"##";LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";))-1))+1;999); FINDEN(" ";TEIL(A1;FINDEN("##";WECHSELN(A1;" ";"##";LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";))-1))+1;999))-1)
siehe unsere:
http://www.excelformeln.de/formeln.html?welcher=301
WF
Anzeige
SPALTE(B1) (statt SPALTE(A1) gesehen?
05.10.2017 13:56:55
lupo1
Bei insgesamt fix 3 Einträgen beginne ich bei Eintrag 2. Und durch Kopieren nach rechts bekomme ich Eintrag 3 der Zelle.
zurückgerudert
05.10.2017 13:58:44
lupo1
Habe jetzt erst den Nachtrag "da kann noch was davor stehen" gesehen. Dann hast Du mit vorletztem und letztem natürlich recht.
AW: den vorletzten Block ermitteln ...
05.10.2017 14:26:23
...
Hallo WF,
... wenn in C1 mit Deiner Formel der letzte ermittelt wird, dann in D1 einfach analog:

=WECHSELN(TEIL(A1;VERWEIS(9^9;FINDEN(" ";WECHSELN(A1;" "&C1;"");ZEILE(1:999)))+1;99);" "&C1;"")

Gruß Werner
.. , - ...
Anzeige
na ja: vorletzter ohne den letzten zu kennen
05.10.2017 14:35:56
WF
Hi,
das ist die Formel von mir (bei uns).
WF
AW: offensichtlich hast Du nicht gelesen ...
05.10.2017 14:50:41
...
Hallo WF,
... ich hatte geschrieben: "... wenn in C1 mit Deiner Formel der letzte ermittelt wird, dann in D1 einfach analog"
Ich kann allerdings auch gern wieder eine AGGREGAT()-Formel "servieren".
Gruß Werner
.. , - ...
Anzeige
was soll das ?
05.10.2017 14:57:22
WF
Du brauchst für den vorletzten also den letzten Eintrag.
AW: ich bezog mich auf Deinen Beitrag von 13:14 ..
05.10.2017 16:59:12
13:14
Hallo WF,
... aus der entnahm ich ein Formelangebot für den letzten und vorletzten Block. Darauf bezog ich mich bisher.

Wenn jedoch nur der vorletzte Block gesucht sein sollte
, kann man das z.B. wie von mir und ergänzend von Lupo hier: https://www.herber.de/forum/archiv/1580to1584/t1583769.htm
Dann würde ich diesmal hier die Formel von Lupo nutzen und anpassen:
=GLÄTTEN(TEIL(WECHSELN($A1;" ";WIEDERHOLEN(" ";99));(LÄNGE(GLÄTTEN(A1))-LÄNGE(WECHSELN(GLÄTTEN(A1);" ";"")))*99-98;99))
Die könnte noch kürzer ausfallen, wenn vorausgesetzt wird, dass keine Leerzeichen am Text in A1 an gehangen sind:
=GLÄTTEN(TEIL(WECHSELN($A1;" ";WIEDERHOLEN(" ";99));(LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";"")))*99-98;99))
Gruß Werner
.. , - ...
Anzeige
Mit UDF-Einsatz wäre das kein Problem und ...
06.10.2017 02:31:39
Luc:-?
…die Fml überschaubar kurz, Tommi,
egal wieviel reine (auch leerzeichen-getrennte) Texte da noch zwischengeschoben sind. Diese Texte dürfen nur ihrerseits nicht wieder Ziffern enthalten, die irrelevant sein sollen. D.h., es muss letztlich die ursprünglich von dir gezeigte Struktur herauskommen können. Wären das dann immer konstant 3 (leerzeichen-getrennte) ZiffernBlöcke, käme folgende (plurale) MatrixFml (über 2 Zellen) zum Einsatz:
{=Splint(MaskOn(A1;"num");;2;3)}
Ist das nicht der Fall und die Anzahl der ZiffernBlöcke kann mal 2, 3 oder mehr betragen, aber es sollen stets die beiden letzten ausgewählt wdn, sähe die MatrixFml so aus:
{=Splint(MaskOn(A1;"num");;CountOn(MaskOn(A1;"num");" "))}
Die Pgmm der verwendeten UDFs sind hier zu finden:
CountOn (Vs1.1) https://www.herber.de/forum/archiv/732to736/732035_Zaehlennwenn_mit_Zahlenkombinationen.html#734566
MaskOn (Vs2.1) https://www.herber.de/cgi-bin/callthread.pl?index=1344962#1345181
Splint (Vs1.1) https://www.herber.de/forum/archiv/864to868/865813_Texte_per_VBA_in_einzelne_Teile_aufteilen.html#865877
Für die 2.Fml-Variante wird allerdings Vs1.2 von Splint benötigt:

Rem Bildet aus Einzeltexten Teiltextfelder von…bis…Posit (lfdElemNr) im Text
'   m.d.Möglichk, nur d.Endposition durch d.real letzte Element zu ersetzen.
'   Vs1.2a -LSr.CyWorXxl -CDate:20070427 -1Pub:h20070428(1.1) -LUpd:20080109n
Function Splint(Text, Optional Trenner As String = " ", Optional ByVal AnfPos As Integer, _
Optional ByVal EndPos As Integer, Optional ByVal LetztEnd As Boolean)
Dim i As Long, j As Long, l As Long, m As Long, TxtVkt, x, y() As String
If AnfPos = 0 And EndPos = 0 Then Splint = Split(Text, Trenner): Exit Function
If InStr(Text, Trenner) = 0 Then
Else: TxtVkt = Split(Text, Trenner): m = UBound(TxtVkt) + 1 - LBound(TxtVkt)
End If
If AnfPos = 0 Then AnfPos = 1
If EndPos = 0 Then EndPos = m
l = EndPos - AnfPos: If l = AnfPos And i  l) Then y(l) = x: Exit For
Next x
Splint = y
End Function
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte in einer Spalte in Excel trennen


Schritt-für-Schritt-Anleitung

Um Werte in einer Spalte in Excel zu trennen, kannst du folgende Schritte befolgen:

  1. Daten vorbereiten: Stelle sicher, dass deine Daten in einer Spalte (z.B. Spalte A) im Textformat vorliegen. Beispiel:

    1234 847575766 193495959
    124324 24353 2352345234525
    235 2523523523523 525235235
  2. Formel für die mittlere Zahl: In Zelle B1 kannst du die folgende Formel eingeben, um die mittlere Zahl zu extrahieren:

    =GLÄTTEN(TEIL(WECHSELN($A1;" ";WIEDERHOLEN(" ";99));SPALTE(B1)*99-98;99))
  3. Formel für die rechte Zahl: In Zelle C1 kannst du diese Formel verwenden, um die rechte Zahl zu extrahieren:

    =TEIL(A1;VERWEIS(9^9;FINDEN(" ";A1;ZEILE(1:999)))+1;50)
  4. Nach unten kopieren: Ziehe die Formeln von B1 und C1 nach unten, um die Werte für alle Zeilen zu berechnen.


Häufige Fehler und Lösungen

  • Problem: Die Formeln liefern Fehler, wenn Leerzeichen in den Zellen vorhanden sind.

    • Lösung: Verwende die GLÄTTEN-Funktion, um überflüssige Leerzeichen zu entfernen.
  • Problem: Die Zahlen sind nicht korrekt getrennt.

    • Lösung: Überprüfe, ob die Formeln korrekt eingegeben wurden und ob die Daten in der richtigen Zelle referenziert werden.

Alternative Methoden

  1. Text in Spalten: Du kannst auch die Funktion "Text in Spalten" in Excel nutzen:

    • Wähle die Spalte mit den Werten aus.
    • Gehe zu Daten > Text in Spalten.
    • Wähle Getrennt und klicke auf Weiter. Wähle als Trennzeichen Leerzeichen aus.
  2. VBA-Makro: Wenn du häufig mit solchen Daten arbeitest, kann ein VBA-Makro hilfreich sein, um die Zahlen automatisch zu entketten.


Praktische Beispiele

  • Beispiel 1: Wenn in A1 der Wert abc 1234 5678 steht, liefert die Formel in B1 1234 und in C1 5678.

  • Beispiel 2: Bei xyz 98765 54321 gibt B1 98765 und C1 54321 zurück.

Diese Formeln funktionieren gut in Excel-Versionen ab 2013.


Tipps für Profis

  • Wenn du regelmäßig Zahlen trennen musst, erstelle eine benutzerdefinierte Funktion (UDF) in VBA, um den Prozess zu automatisieren.
  • Achte darauf, dass die Zellen, aus denen du die Werte trennen möchtest, immer die gleiche Struktur haben.
  • Nutze die LÄNGE-Funktion, um sicherzustellen, dass die Zellen die erwartete Anzahl an Werten enthalten.

FAQ: Häufige Fragen

1. Wie kann ich Zahlen in einer Zelle trennen, wenn sie durch Kommas statt Leerzeichen getrennt sind? Du kannst in den Formeln das Trennzeichen von " " auf "," ändern.

2. Funktionieren diese Formeln auch in älteren Excel-Versionen? Die oben genannten Formeln funktionieren ab Excel 2013. In älteren Versionen kann die Handhabung von Formeln leicht variieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige