Warum ist MONAT() einer leeren Zelle gleich 12?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Thony
Beiträge: 3
Registriert: Fr, 29.01.2010 08:13

Warum ist MONAT() einer leeren Zelle gleich 12?

Beitrag von Thony »

Hallo, ich möchte Euch bei folgendem Problem um Hilfe bitten:

Ich habe heute zum ersten Mal mit der Funktion SUMMENPRODUKT() gearbeitet und bin dabei auf ein Problem gestossen. Eigentlich ist ein eine Frage der Funktion MONAT(), die ich in meiner Formel eingebettet habe.

..........A.............B
1.....01.01.09........1
2.....01.12.09........3
3.....(leer)
4.....(leer)

B1 =SUMMENPRODUKT((MONAT(A1:A4)=1)
B2 =SUMMENPRODUKT((MONAT(A1:A4)=12)

Die Funktion SUMMENPRODUKT() verwende ich um noch andere Bedingungen abzufragen. Ich habe das Problem stark vereinfacht. Schwierigkeiten habe ich mit der Funktion MONAT(). Meine Beobachtung ist, dass MONAT() nicht nur bei einem Datum im Dezember, sondern auch bei einer leeren Zelle das Ergebnis 12 zurück liefert. Im o.g. Beispiel wurden also fälschlicherweise drei Termine im Dezember gezählt und richtigerweise ein Termin im Januar. Das kann doch nicht so beabsichtigt sein, oder?

Ich arbeite übrigens noch in der Version 3.1.0, wenn das eine Rolle spielt...
Thony
Beiträge: 3
Registriert: Fr, 29.01.2010 08:13

Re: Warum ist MONAT() einer leeren Zelle gleich 12?

Beitrag von Thony »

Hallo paljass,
Du hast souverän und einleuchtend den Sachverhalt erklärt. Vielen Dank dafür.

Ich wünschte nur, ich könnte mir diese zusätzliche Abfrage der leeren Zelle ersparen. Es wäre doch schön, wenn ich einfach irgendwo in den Einstellungen den Ergebniswert MONAT() für eine "Nicht-Datums-Zelle" selbst vorgeben könne (z.B. mit dem Wert Null). Das Ergebnis 12 wird ja nicht nur bei leeren Zellen, sondern z.B. auch bei Textzellen ausgegeben. Da finde ich noch irritierender.

Na ja, mit diesem Wunschdenken kommen wir an dieser Stelle aber nicht weiter. Also dann doch mit Sicherheitsabfrage...
famo
*****
Beiträge: 275
Registriert: Do, 06.01.2005 00:15
Wohnort: Berlin

Re: Warum ist MONAT() einer leeren Zelle gleich 12?

Beitrag von famo »

Hallo,
noch zur Ergänzung:
paljass hat geschrieben:Weil Calc aber nicht mit dem Datum selbst rechnet, sondern das Datum intern in eine Zahl umwandelt, steht für den 30.12.1899 die Zahl 0 (Null).
Andersherum wird ein Schuh raus: Das Datum ist (wie jede andere Zahl auch) einfach als Nummer gespeichert und wird nur durch das (Anzeige-) Format für den User als Datum ausgegeben.
Thony hat geschrieben:Es wäre doch schön, wenn ich einfach irgendwo in den Einstellungen den Ergebniswert MONAT() für eine "Nicht-Datums-Zelle" selbst vorgeben könne (z.B. mit dem Wert Null).
Funktionen berücksichtigen eben in Calc (und in jeder anderen Tabellenkalkulation auch) nur Zahlen/Text in der Zelle und keine Anzeigeformate, daher kann dein Wunsch nicht in Erfüllung gehen ;-) ...

vg
famo
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Warum ist MONAT() einer leeren Zelle gleich 12?

Beitrag von Karolus »

Hallo
Du musst die "Sicherheitsabfrage" auch nicht in eine WENN-funktion auslagern, es reicht schon:
B2 =SUMMENPRODUKT(MONAT(A1:A4)=12;A1:A4<>"";...)

Gruß Karo
LO25.2… debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
Thony
Beiträge: 3
Registriert: Fr, 29.01.2010 08:13

Re: Warum ist MONAT() einer leeren Zelle gleich 12?

Beitrag von Thony »

Danke für alle Antworten. Mit den "workarounds" kann ich leben...

Thony
Antworten