Excel Formel - Daten extrahieren
#1
Hallo liebes Forum!

Ich benötige eine kleine Hilfe bei einer Formel:

Ich speichere Dateien im folgenden Format ab:

2023-12-12 – 1 – 1 

Wenn ich nun im Excel nach diesen Dateien in einer Spalte sortiere, ist die Sortierung wie folgt:

2023-12-12 – 1 – 1
2023-12-12 – 10 – 1
2023-12-12 – 11 – 1
2023-12-12 – 2 – 1
2023-12-12 – 3 – 1
Usw.

 D. h. die 10 und 11 nach 1.

Ideal wäre jedoch für mich folgende Sortierung (zuerst nach dem Datum, dann fortlaufend nach den Zahlen):

2023-12-12 – 1 – 1
2023-12-12 – 2 – 1
2023-12-12 – 3 – 1
2023-12-12 – 10 – 1
2023-12-12 – 11 – 1

Ist dies auch ohne Hilfsspalte möglich? Wenn nicht, hätte ich das Datum in der Spalte B1 mit der Formel =LINKS(A1;10) extrahiert. In Spalte C1 hätte ich die Formel =TEIL(A1;14;1), jedoch wird ja dann nur eine Zahl ab der 14. Stelle extrahiert. Bei 1-9 auch so in Ordnung, bei 10 oder 100 usw. dann eben nicht.

Wie kann ich dies lösen? Gibt es hier eine Formel, die z. B. ab Stelle 14 die Zahlen bis zur nächsten Leerstelle extrahiert?

Über eure Hilfe wäre ich sehr dankbar!

Vielen Dank im Voraus!

LG
Andi
 
Antworten Top
#2
Hallo,

der Index muss zweistellig sein, also nicht

2023-12-12 – 1 – 1
2023-12-12 – 10 – 1

sondern

2023-12-12 – 01 – 1
2023-12-12 – 10 – 1

mfg
Antworten Top
#3
Hallo,

in A1 dein Wert
in B1 die Formel: =--LINKS(A1;10)
in C1 die Formel: =--WECHSELN(TEIL(A1;14;10);" – ";",")
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top
#4
=TEXTVERKETTEN(SORTIEREN(TEXTTEILEN(... mit neuem Excel
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#5
Moin!
Könntest Du die Schriftgröße noch erheblich verkleinern?  21
Zitat:Gibt es hier eine Formel, die z. B. ab Stelle 14 die Zahlen bis zur nächsten Leerstelle extrahiert?
Nimm besser Textteilen iVm Deinem (" Zeichen(150) ").
Formatiere mit "000" und verknüpfe das mit dem in eine Zahl umgewandelte Datum.
Danach kannst Du dann sortieren:
ABC
12023-12-12 – 1 – 1452720012023-12-10 – 10 – 1
22023-12-10 – 10 – 1452700102023-12-12 – 1 – 1
32023-12-12 – 11 – 1452720112023-12-12 – 2 – 1
42023-12-12 – 2 – 1452720022023-12-12 – 3 – 1
52023-12-12 – 3 – 1452720032023-12-12 – 11 – 1

ZelleFormel
B1=--LINKS(A1;10)&TEXT(INDEX(TEXTTEILEN(A1;" – ");;2);"000")
C1=SORTIERENNACH(A1:A5;B1:B5)

Und für die Zukunft weist Du jetzt, dass der Hinweis von Fennek zu berücksichtigen ist.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Hallo Forum!

Wow, viele Antworten! Danke!! Zunächst:

Ad Fennek:

Leider ist dies aus zwei Gründen nicht möglich:

Die erste Zahl nach dem Datum wird von einer Maschine (Produktionsablauf) bestimmt, die kann bis zu 12 Stellen haben, weshalb ich bei 1 vorne dann 11 Nullen haben müsste. 

Auch könnte man die 1 nicht mit Nullen versehen, da die Nummer exakt mit der Maschine übereinstimmen muss (hätte ich auch schon angedacht, ist jedoch Auditvorgabe).

Ad EA1950:

Ich erhalte nun mit der Wechselformel Einträge wie 

1;1
10;1
usw., kann so auch sortieren.

Könnte man die Formel auch noch anpassen, dass alles ab 

;1

nicht mehr angezeigt wird, somit nur die Zahl ab Stelle 14 bis zur nächsten Leerstelle, d. h. 

bei 2020-03-01 - 1 - 1 bis zur Stelle 15,
bei 2020-03-01 - 10 - 1 bis zur Stelle 16, usw...

Danke nochmal.

LG
Antworten Top
#7
Hallo,

in der beiliegenden Datei habe ich dir 6 Formelvarianten eingefügt. Das sind alles dynam.Arrayformeln. 
Die letzten 3 sind allerdings für dich ungeeignet, denn sie setzen die Excel365 (-Insider)-Version voraus.


Angehängte Dateien
.xlsx   Hofer197_TexteSortieren.xlsx (Größe: 12,59 KB / Downloads: 6)
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top
#8
Bezüglich der Schriftgrößen:
Du willst uns doch offensichtlich verarschen!
Spiel woanders, denn sachbezogene Antworten hast Du ja jetzt reichlich.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Danke Anton (EA1950) für deine Hilfe und das File! Ich finde die dritte Lösung (GANZZAHL(--WECHSELN(TEIL($A$15:$A$19;14;10);" – ";",")) ) sehr gut passend. Tausend Dank für deine Hilfe!!

Ad RPP63:

Ich möchte deine Kritik so nicht stehen lassen: Ich habe die Einträge übers Handy erstellt und erst nach deinem Input gesehen, dass die Schrift bei meinem ersten Post wohl zu klein war, daher die Schrift beim zweiten Post nachträglich von 2 auf 7 umgestellt, ohne zu wissen, wie dies am PC aussieht, denn vermutlich gibt es ja hier Probleme bei der Darstellung, denn am Handy schaut zwar Schriftgröße 7 etwas größer, aber okay aus (auch in der Desktopansicht).

Sollte dies zutreffen, entschuldige ich mich dafür, verweigere mich aber ganz klar deiner Kritik, da ich in keiner Weise irgendwie etwas böses vermitteln wollte, geschweige denn einen einzelnen Gedanken daran verschwendet habe. Dies wäre ja wenig förderlich, da ich ja Hilfe hier gesucht habe und mir, wie du ja auch geschrieben hast, auch sehr umfangreich geholfen wurde.

Insofern finde ich es schon bedenklich, dass mir hier sofort Verarschung oder gar ein Spiel vorgeworfen wurde, was von mir tatsächlich nicht ansatzweise angedacht war.

In diesem Sinne trotzdem nochmals großen Dank für eure Hilfe + noch schönes Wochenende!
[-] Folgende(r) 1 Nutzer sagt Danke an Hofer197 für diesen Beitrag:
  • Kl@us-M.
Antworten Top


Gehe zu:


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