[gelöst] Datumsangabe umwandeln

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

[gelöst] Datumsangabe umwandeln

Beitrag von clag »

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"
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
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Datumsangabe umwandeln

Beitrag von Karolus »

Hallo

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)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datumsangabe umwandeln

Beitrag von clag »

Hallo Karolus,

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
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Datumsangabe umwandeln

Beitrag von Karolus »

Hallo

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)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datumsangabe umwandeln

Beitrag von clag »

Hallo Karolus

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
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Datumsangabe umwandeln

Beitrag von balu »

Mahlzeit clag,
Wäre für Denkanstöße oder auch Lösungen sehr dankbar.
Wie wärs denn mit erstmal die SuFu zu benutzen?
Suchbegriffe: kalenderwoche wochentag
Gefundener Thread: Aus Kalenderwoche + Jahr -> Wochentag errechnen.
Anschließend die Lösung von Karolus an deine Bedürfnisse anpassen, und freuen :D.



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 :D
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datumsangabe umwandeln

Beitrag von clag »

Hallo Balu,
balu hat geschrieben:Wie wärs denn mit erstmal die SuFu zu benutzen?
das war ein guter Tip
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
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Datumsangabe umwandeln

Beitrag von Karolus »

Hallo

@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))
Ich hatte mich jetzt erstmal daran versucht das in Python umzusetzen, dabei kam das heraus:

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' 
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Datumsangabe umwandeln

Beitrag von clag »

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?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: [gelöst] Datumsangabe umwandeln

Beitrag von Karolus »

Hallo
der Python Code wäre dann als Funktion anwendbar?
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.

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) 
das ergibt die Ausgabe:

Code: Alles auswählen

2010-06-18 False
2013-06-14 True
2013-10-22 True
Karolus

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Höttl Wilfried
Beiträge: 7
Registriert: Di, 21.06.2011 11:02

Re: [gelöst] Datumsangabe umwandeln

Beitrag von Höttl Wilfried »

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
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: [gelöst] Datumsangabe umwandeln

Beitrag von Karolus »

Hallo

@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)
Höttl Wilfried
Beiträge: 7
Registriert: Di, 21.06.2011 11:02

Re: [gelöst] Datumsangabe umwandeln

Beitrag von Höttl Wilfried »

Hallo Korolus!

Möchte es so eingeben: 2014432

Danke
Gruß
Wilfried
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: [gelöst] Datumsangabe umwandeln

Beitrag von Karolus »

Hallo

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))
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Höttl Wilfried
Beiträge: 7
Registriert: Di, 21.06.2011 11:02

Re: [gelöst] Datumsangabe umwandeln

Beitrag von Höttl Wilfried »

Hallo!

Danke für die Formeländerung.

Gruß
Wilfried
Antworten