Clever-Excel-Forum

Normale Version: Fehler in der Funktion Monat?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

durch eine Anfrage in einem anderen Forum bin ich auf ein Problem gestoßen. Es geht darum, dass die Funktion Monat offenbar eine 1 ausgibt, wenn sie auf eine leere Zelle referenziert. Das führte im Fall des Fragestellers dazu, dass die Funktion Summenprodukt falsch gerechnet hat.

Tabelle1

ABCD
1
24841317
3
4
5
6
7
807.03.20191983
919.02.20191842
1023.02.2019542
1127.01.20191431
1229.01.20191971
1314.03.2019583
1402.01.20191121
15321
1617.03.20192003
1707.03.20191393
Formeln der Tabelle
ZelleFormel
B2=SUMMENPRODUKT((MONAT(B8:B17)<2)*(C8:C17))
C2=TEILERGEBNIS(9;C8:C17)
D8=MONAT(B8)
D9=MONAT(B9)
D10=MONAT(B10)
D11=MONAT(B11)
D12=MONAT(B12)
D13=MONAT(B13)
D14=MONAT(B14)
D15=MONAT(B15)
D16=MONAT(B16)
D17=MONAT(B17)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

So sieht es aus, wenn ich nach Januar filtere. (Siehe Teilergebnisformel in Zelle C2. Kennt jemand dieses Problem?

Tabelle1

ABCD
2484452
3
4
5
6
7
1127.01.20191431
1229.01.20191971
1402.01.20191121
1805.01.2019141
2506.01.2019671
3005.01.2019871
3328.01.2019421
3625.01.2019901
3726.01.20191461
Formeln der Tabelle
ZelleFormel
B2=SUMMENPRODUKT((MONAT(B8:B17)<2)*(C8:C17))
C2=TEILERGEBNIS(9;C8:C17)
D11=MONAT(B11)
D12=MONAT(B12)
D14=MONAT(B14)
D18=MONAT(B18)
D25=MONAT(B25)
D30=MONAT(B30)
D33=MONAT(B33)
D36=MONAT(B36)
D37=MONAT(B37)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Moin Klaus-Dieter,

das ergibt die Formelauswertung: [attachment=26761]

Dazu tauchte in einem Nachbarforum die Frage in Verbindung mit SUMMENPRODUKT() bereits 2009 auf. Eine Antwort lautete:
Zitat:Hallo,

0 ist für Excel quasi 1 Tag vor der Zeitrechnung. Und Excel startet am 01.01.1900.
der 0.01.1900 ist in Excel also möglich und gehöhrt zum Januar.

Versuch es mal so:

=SUMMENPRODUKT((MONAT(Tabelle1!$B$5:$B$1504)=1)*(Tabelle1!$B$5:$B$1504>0)*1)

Gruß
Michael

Bislang ist mir das nicht aufgefallen.
Hallo,

der Tag 0 dient in Excel der Zeitrechnung (0 - 1 = 0:00 bis 24:00 Uhr). Für Excel sozusagen der 00.01.1900. Deshalb wird Monat() =  als 1 ermittelt.
Innerhalb von VBA entspricht der Tag 0 dem 30.12.1899.

Gruß
Sigi
Hallo Siggi,

inzwischen ist mir der Zusammenhang schon klar geworden. Man weiß das, aber in dem Gesamtzusammenhang, hatte mich das zunächst irritiert.
Es ist in diesem Fall sowieso vernünftig auch das Jahr zu berücksichtigen:


PHP-Code:
=SUMPRODUCT((MONTH(C19:C33)<2)*(YEAR(C19:C33)=2019)*(D19:D33)) 
Hallo,

auch das könnte daneben gehen.

Denn eine leere Zelle oder eine 0 liefern:
Year()/Jahr()  =  1900
Month()/Monat()  =  1
Day()/Tag()  =  0

Wie schon gesagt, für Excel ist dies der 00.01.1900

Grüße
Sigi

Ich nehme das wieder zurück. Ist Quatsch.
Hallo Sigi,

also bei mir sieht das Ergebnis so aus:

Tabelle1

AB
10
21
31900
Formeln der Tabelle
ZelleFormel
B1=TAG(A1)
B2=MONAT(A2)
B3=JAHR(A3)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Jetzt bitte ich darum, das Thema als erledigt zu betrachten. Das Problem ist erkannt, man muss es eben bei den entsprechenden Funktionen berücksichtigen.
Hi Klaus,

(30.09.2019, 15:27)Klaus-Dieter schrieb: [ -> ]Jetzt bitte ich darum, das Thema als erledigt zu betrachten.

das geht besser, wenn Du es auf "erledigt" schaltest. Wink

Gruß Uwe
Hallo Uwe,

hatte ich gemacht, hat aber offenbar nichts gebracht.  Angry