[gelöst] Datumsangabe umwandeln
Moderator: Moderatoren
[gelöst] Datumsangabe umwandeln
Hallo zusammen,
in einer Tabelle für Geräte habe ich verschiedene Variationen von Angaben über das Produktionsdatum
diese möchte ich in einer Hilfsspalte in ein echtes Datum umwandeln damit es als Sortierkriterium taugt
eine Variante ist
"13245" entspricht "Fr 2013-06-14"
"13432" entspricht "Di 2013-10-22"
13=Jahreszahl
43=KW
5 Tag der KW
der Text "13432" müsste zu Datum "Di 2013-10-22" bzw "41569" werden
mit diesem "Format" habe ich ein Problem,
dafür eine sinnige Formel zu kreieren die ein Datumswert ausgibt.
Wäre für Denkanstöße oder auch Lösungen sehr dankbar.
edit:
Datumsangabe KW korrigiert von "13442" auf "13432"
in einer Tabelle für Geräte habe ich verschiedene Variationen von Angaben über das Produktionsdatum
diese möchte ich in einer Hilfsspalte in ein echtes Datum umwandeln damit es als Sortierkriterium taugt
eine Variante ist
"13245" entspricht "Fr 2013-06-14"
"13432" entspricht "Di 2013-10-22"
13=Jahreszahl
43=KW
5 Tag der KW
der Text "13432" müsste zu Datum "Di 2013-10-22" bzw "41569" werden
mit diesem "Format" habe ich ein Problem,
dafür eine sinnige Formel zu kreieren die ein Datumswert ausgibt.
Wäre für Denkanstöße oder auch Lösungen sehr dankbar.
edit:
Datumsangabe KW korrigiert von "13442" auf "13432"
Zuletzt geändert von clag am So, 11.05.2014 15:49, insgesamt 2-mal geändert.
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Datumsangabe umwandeln
Hallo
Seltsame Datumsfomate! - wie werden in dem "Format" einstellige Wochenangaben umgesetzt mit einer Stelle oder mit führender Null?
Karolus
Seltsame Datumsfomate! - wie werden in dem "Format" einstellige Wochenangaben umgesetzt mit einer Stelle oder mit führender Null?
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Datumsangabe umwandeln
Hallo Karolus,
ja mit einer führenden 0
zB 12043
und schonmal Danke das du "nen Auge drauf wirfst"
ja mit einer führenden 0
zB 12043
und schonmal Danke das du "nen Auge drauf wirfst"
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Datumsangabe umwandeln
Hallo
2013-10-22 liegt in der Kalenderwoche 43 !
Karolus
2013-10-22 liegt in der Kalenderwoche 43 !
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Datumsangabe umwandeln
Hallo Karolus
ja das ist korrekt
Ich habe mich verschrieben es muss "13432" heißen
"13432" entspricht "Di 2013-10-22"
ja das ist korrekt
Ich habe mich verschrieben es muss "13432" heißen
"13432" entspricht "Di 2013-10-22"
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Datumsangabe umwandeln
Mahlzeit clag,
Suchbegriffe: kalenderwoche wochentag
Gefundener Thread: Aus Kalenderwoche + Jahr -> Wochentag errechnen.
Anschließend die Lösung von Karolus an deine Bedürfnisse anpassen, und freuen
.
Gruß
balu
Wie wärs denn mit erstmal die SuFu zu benutzen?Wäre für Denkanstöße oder auch Lösungen sehr dankbar.
Suchbegriffe: kalenderwoche wochentag
Gefundener Thread: Aus Kalenderwoche + Jahr -> Wochentag errechnen.
Anschließend die Lösung von Karolus an deine Bedürfnisse anpassen, und freuen

Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Datumsangabe umwandeln
Hallo Balu,
das was Karolus da vor langer Zeit ausgetüfftelt hat ist ziemlich genau das wonach ich gesucht habe.
also euch beiden ein fettes Danke
und einen schönen Restsonntag
das war ein guter Tipbalu hat geschrieben:Wie wärs denn mit erstmal die SuFu zu benutzen?
das was Karolus da vor langer Zeit ausgetüfftelt hat ist ziemlich genau das wonach ich gesucht habe.
also euch beiden ein fettes Danke
und einen schönen Restsonntag
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Datumsangabe umwandeln
Hallo
@Balu: Lang ists her -
Ich hatte mich jetzt erstmal daran versucht das in Python umzusetzen, dabei kam das heraus:
Karolus
@Balu: Lang ists her -
Code: Alles auswählen
=DATUM(2000+LINKS(A1;2);1;1-WOCHENTAG(DATUM(2000+LINKS(A1;2);1;1);2)+TEIL(A1;3;2)*7+RECHTS(A1;1)-7*(WOCHENTAG(DATUM(2000+LINKS(A1;2);1;1);2)<5))
Code: Alles auswählen
In [1]: from datetime import date, datetime, timedelta
In [2]: date.isoformat(datetime.strptime( '13432', '%y%W%w')-timedelta(weeks=1) )
Out[2]: '2013-10-22'
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Datumsangabe umwandeln
Hallo Karolus,
habe jetzt deine Formel soweit angepasst das sie direkt den Text "13432" in A3 in den Datumswert "41569" (22.10.2013) wandelt
=DATUM(JAHR(DATUM(LINKS(A3;2);1;1));1;1)-WOCHENTAG(DATUM(JAHR(DATUM(LINKS(A3;2);1;1));1;1);2)+7*(TEIL(A3;3;2)-(WOCHENTAG(DATUM(JAHR(DATUM(LINKS(A3;2);1;1));1;1);2)<5))+RECHTS(A3;1)
sieht etwas wirr aus wegen der doppelten Anwendung von DATUM() aber es tut genau was es soll.
der Python Code wäre dann als Funktion anwendbar?
habe jetzt deine Formel soweit angepasst das sie direkt den Text "13432" in A3 in den Datumswert "41569" (22.10.2013) wandelt
=DATUM(JAHR(DATUM(LINKS(A3;2);1;1));1;1)-WOCHENTAG(DATUM(JAHR(DATUM(LINKS(A3;2);1;1));1;1);2)+7*(TEIL(A3;3;2)-(WOCHENTAG(DATUM(JAHR(DATUM(LINKS(A3;2);1;1));1;1);2)<5))+RECHTS(A3;1)
sieht etwas wirr aus wegen der doppelten Anwendung von DATUM() aber es tut genau was es soll.

der Python Code wäre dann als Funktion anwendbar?
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: [gelöst] Datumsangabe umwandeln
Hallo
Etwas ausgebaut mit mehreren Teststrings:
das ergibt die Ausgabe:
Karolus
Karolus
Nein, das ist nur ein schneller Entwurf per c&p aus einer Ipython-shell und noch ohne Korrektur falls Neujahr des Jahres auf Freitag bis Sonntag fällt.der Python Code wäre dann als Funktion anwendbar?
Etwas ausgebaut mit mehreren Teststrings:
Code: Alles auswählen
from datetime import date, datetime, timedelta
dstrings = ['10245', '13245', '13432']
for dst in dstrings:
weeknum = int(dst[2:4])
d = datetime.strptime( dst , '%y%W%w')
correction = (not d.isocalendar()[1] == weeknum)
d = d-timedelta(weeks=correction)
print(date.isoformat(d), correction)
Code: Alles auswählen
2010-06-18 False
2013-06-14 True
2013-10-22 True
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
-
- Beiträge: 7
- Registriert: Di, 21.06.2011 11:02
Re: [gelöst] Datumsangabe umwandeln
Hallo!
Habe erst heute die Formel gefunden die auch OK ist.
Die Jahreszahl ist 2 stellig zB 14. ich will aber die Jahreszahl 4 stellig zB 2014 eingeben.
Wollte die Formel ändern leider ohne Erfolg.
Kann mir wer die Formel ändern auf 4 Stellen "2014"
Danke
Gruß
Wilfried
Habe erst heute die Formel gefunden die auch OK ist.
Die Jahreszahl ist 2 stellig zB 14. ich will aber die Jahreszahl 4 stellig zB 2014 eingeben.
Wollte die Formel ändern leider ohne Erfolg.
Kann mir wer die Formel ändern auf 4 Stellen "2014"
Danke
Gruß
Wilfried
Re: [gelöst] Datumsangabe umwandeln
Hallo
@Wilfried Höttl
Was gibst du ein?
was möchtest du als Ergebnis ?
@Wilfried Höttl
Was gibst du ein?
was möchtest du als Ergebnis ?
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
-
- Beiträge: 7
- Registriert: Di, 21.06.2011 11:02
Re: [gelöst] Datumsangabe umwandeln
Hallo Korolus!
Möchte es so eingeben: 2014432
Danke
Gruß
Wilfried
Möchte es so eingeben: 2014432
Danke
Gruß
Wilfried
Re: [gelöst] Datumsangabe umwandeln
Hallo
Karolus
Code: Alles auswählen
=DATUM(LINKS(A1;4);1;1-WOCHENTAG(DATUM(LINKS(A1;4);1;1);2)+TEIL(A1;5;2)*7+RECHTS(A1;1)-7*(WOCHENTAG(DATUM(LINKS(A1;4);1;1);2)<5))
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
-
- Beiträge: 7
- Registriert: Di, 21.06.2011 11:02
Re: [gelöst] Datumsangabe umwandeln
Hallo!
Danke für die Formeländerung.
Gruß
Wilfried
Danke für die Formeländerung.
Gruß
Wilfried