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...
Warum ist MONAT() einer leeren Zelle gleich 12?
Moderator: Moderatoren
Re: Warum ist MONAT() einer leeren Zelle gleich 12?
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...
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...
Re: Warum ist MONAT() einer leeren Zelle gleich 12?
Hallo,
noch zur Ergänzung:
...
vg
famo
noch zur Ergänzung:
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.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).
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 gehenThony 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).

vg
famo
Re: Warum ist MONAT() einer leeren Zelle gleich 12?
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
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)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
Re: Warum ist MONAT() einer leeren Zelle gleich 12?
Danke für alle Antworten. Mit den "workarounds" kann ich leben...
Thony
Thony