Fehler in der Funktion Monat?
#1
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
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#2
Moin Klaus-Dieter,

das ergibt die Formelauswertung:    

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.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
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
Top
#4
Hallo Siggi,

inzwischen ist mir der Zusammenhang schon klar geworden. Man weiß das, aber in dem Gesamtzusammenhang, hatte mich das zunächst irritiert.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#5
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)) 
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#6
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.
Top
#7
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#8
Hi Klaus,

(30.09.2019, 16: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
Top
#9
Hallo Uwe,

hatte ich gemacht, hat aber offenbar nichts gebracht.  Angry
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste