cramtroni
Goto Top

Excel Pivot-Sortierung nach KWJAHR

Guten Tag zusammen,

ich habe bei einer Pivot-Tabelle (ODBC-Auswertung von unserem ERP-System) das Problem, dass mir eine Termin-Spalte nicht korrekt sortiert wird, da Excel nicht erkennen kann, dass es sich nicht um eine "Zahl" sondern um eine KW+Jahr handelt. So wird mir z.B. bei folgenden Zeilen:

102022
152022
172023
252022
392022

die KW 252022 nicht korrekt unter die KW 152022 sortiert.

Gibt es da irgendeinen Trick?
Kann man Excel eventuell sagen, dass es in der Sortierung erst die vier hinteren Zahlen und dann erst die Zahlen davor berücksichtigt?
Unter Benutzerdefiniertem Zahlenformat gibt es leider keines mit KWJAHR.

Danke vorab!

Mfg cramtroni

Content-ID: 1731526959

Url: https://administrator.de/contentid/1731526959

Ausgedruckt am: 25.11.2024 um 01:11 Uhr

ukulele-7
ukulele-7 17.01.2022 um 11:52:46 Uhr
Goto Top
Fallen mir spontan zwei Wege ein:

- Du kannst eine zusätzliche Spalte machen die die Zeichenkette zerlegt und umstellt und danach sortieren.
- Oder du wechselst das Format.
em-pie
em-pie 17.01.2022 um 12:25:07 Uhr
Goto Top
Moin,

Zitat von @ukulele-7:

Fallen mir spontan zwei Wege ein:

- Du kannst eine zusätzliche Spalte machen die die Zeichenkette zerlegt und umstellt und danach sortieren.
- Oder du wechselst das Format.

das sind auch meine Ideen.
zumal obiges ein Problem geben könnte, wenn KWJJJJ als Zahl interpretiert wird und wir die KW 1 im Jahr 2023 haben.
dann wäre es ja 12022 und nicht 012022

Ich würde, sofern man dss SQL-Query beeinfluss kann auf JJJJKW umstellen, ggf. sogar als JJJJ-KW (der Lesbarkeit wegen)

Gruß
em-pie
ukulele-7
ukulele-7 17.01.2022 um 13:46:53 Uhr
Goto Top
Oh habe ich glatt übersehen. Wenn ein SQL Query zu grunde liegt ließe es sich sehr leicht umstellen.
select right(spalte,4) + left(spalte,2) as spalte
...
statt
select spalte
...
Alternativ kann vermutlich auch SQL die Sortierung übernehmen, die ist natürlich weg wenn jemand in Excel umsortiert.
select spalte
...
order by right(spalte,4) + left(spalte,2)
em-pie
em-pie 17.01.2022 aktualisiert um 14:10:51 Uhr
Goto Top
Ich vermute mal an, die bauen die KW schon selbst im Query zusammen:
SELECT
 CONCAT(DATEPART(iso_kw, myDateTimeField), DATEPART(year, myDateTimeField)) as KWJJJJ
 , SomeOtherFields

FROM
 myTable

Aber nichts genaueres weiss man (derzeit) face-smile
cramtroni
cramtroni 17.01.2022 um 14:11:30 Uhr
Goto Top
Vielen Dank für eure Antworten! Ich wollte es jetzt über eine zusätzliche Spalte lösen, allerdings habe ich jetzt genau das Problem, welches em-pie erwähnt hat. Da die KWs 1-9 nicht als "01" sondern direkt als z.B. 12022 übergeben werden, versagt jetzt bei diesen KWs die "LINKS" Formel, anstatt KW:3 JAHR: 2022 bekommte ich jetzt die KW:32 JAHR: 2022. Gibt es irgendeine Formel bei der ich sagen kann, dass wenn es nur 5 Ziffern sind, er mir nur die erste von links auslesen soll?

Danke vorab.
em-pie
Lösung em-pie 17.01.2022 aktualisiert um 14:55:05 Uhr
Goto Top
Zitat von @cramtroni:

Vielen Dank für eure Antworten! Ich wollte es jetzt über eine zusätzliche Spalte lösen, allerdings habe ich jetzt genau das Problem, welches em-pie erwähnt hat. Da die KWs 1-9 nicht als "01" sondern direkt als z.B. 12022 übergeben werden, versagt jetzt bei diesen KWs die "LINKS" Formel, anstatt KW:3 JAHR: 2022 bekommte ich jetzt die KW:32 JAHR: 2022. Gibt es irgendeine Formel bei der ich sagen kann, dass wenn es nur 5 Ziffern sind, er mir nur die erste von links auslesen soll?

Danke vorab.

Geht so:
=WENN(LÄNGE(A1)=5;RECHTS(A1;4) & "0" & LINKS(A1;1);WENN(LÄNGE(A1)=6;RECHTS(A1;4)& LINKS(A1;2);""))  
excel

Alternativ:
=RECHTS(("0" & A1);4) & LINKS(RECHTS(("0" & A1);6);2)  
Guenther45
Guenther45 20.01.2022 um 13:41:36 Uhr
Goto Top
Moin,
ich würde das (in einer einigermaßen aktuellen Excel-Version) per Power Query lösen. Hat den Vorteil, dass es riesige Datenmengen sein können und eine Aktualisierung neuer Quelldaten mit 1 Mausklick möglich ist. Leider ist hier (IMHO) kein Datei-Upload möglich…

Günther
cramtroni
cramtroni 31.01.2022 um 11:14:30 Uhr
Goto Top
Vielen Dank euch allen für die hilfreichen Beiträge!