Anzahl von Vorkommnissen eines Monats in einer Excel-Spalte zählen

3 Antworten

Zählenwenn() ist ja nur eine Kurzform für eine Matrix-Formel. Wenn es etwas komplizierter wird, bietet sich an eine reinrassige Matrix-Formel zu verwenden (wobei das mit dem richtigen Kriterium in Zählenwenn auch gehen müsste. Aber da bin ich zu faul nachzudenken).

Also etwa als Formel

=summe(wenn(monat(b2:b26)=1; 1; 0)

und die Eingabe mit Umschalt-Strg-Eingabe abschließen.

Bei mehreren Monaten könnte man faulerweise auch den Suchmonat variabel halten. Angenommen, der Monat (im obigen Beispiel) stünde in C1, dann wird die Formel zu

=summe(wenn(monat(b2:b26)=c1; 1; 0)

Als Matrixforme eingegeben, kann ich die auch nach rechts ziehen.


Oubyi, UserMod Light  21.10.2014, 23:20

Wenn möglich verwende ich immer SUMMENPRODUKT, was ja im Prinzip auch eine Matrixformel ist, aber nicht das Risiko birgt die { } wieder zu "verlieren", wenn man mal kurz reingeklickt hat.
Auch als "echte" Matrix sollte es ohne zusätzliches WENN klappen:

{=SUMME((MONAT(B2:B26)=1)*1)}

1
MrProcess  21.10.2014, 23:50
@Oubyi, UserMod Light

Danke für den Hinweis.

Ich denke mir halt es hilft auch was wenn sich die Leute selbst helfen können und nicht bei jeder neuen Fragestellung erst bei GF nachhacken müssen. Von daher keine Frage, für die Cracks gibt es ziemlich viel shorthand. Derweil sollten die Nicht-Cracks auch zu einem Ergebnis kommen und verstehen was sie tun.

Gutes Nächtle noch

0
Oubyi, UserMod Light  22.10.2014, 01:21
@MrProcess

Gerade für die "Nicht-Cracks" ist eine "echte" Matrixformel ein Risiko und SUMMENPRODUKT imho die sicherere Variante!

Aber das ist natürlich auch Meinungssache.
Dir auch eine Gute Nacht.

0

... und wenn nicht nur der Januar (=SUMMENPRODUKT((MONAT(B2:B26)=1)1) gezählt werden soll,
kann man die Formel erweitern : statt "=1" einsetzen "=ZEILE()-1"
und 11 mal runterziehen, das berechnet dann das Vorkommen aller 12 Monate.

=SUMMENPRODUKT((MONAT(B2:B26)=ZEILE()-1)1)

Gruß aus Berlin

Woher ich das weiß:Hobby – Jahrelanges programmieren.

Iamiam  22.10.2014, 16:44

und noch lieber ZeileN($1.Zelle:nteZelle), das ist nämlich (als Gesamtbereich) beliebig verschiebbar, da kann man auch Zeilen drüber einfügen, ohne dass alles falsch wird!

Ausserdem siehe den in der AW von Oubyi beschriebenen Bug!

0

Na klar:

=SUMMENPRODUKT((MONAT(B2:B26)=1)1)

Klappt es?

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Oubyi, UserMod Light  21.10.2014, 23:27

P.S.:
Ich habe gerade durch Zufall noch einen kleine, aber fiesen Bug entdeckt.
Für Excel ist offensichtlich der Monat einer leeren Zelle auch ein Januar.
Kommt wohl daher weil 0 für Excel der 0.01.1900 ist.
Um also zu vermeiden, dass leere Zellen im Bereich als Januar gezählt werden, müsste die Formel so erweitert werden:

=SUMMENPRODUKT((MONAT(B2:B26)=1)*(B2:B26>0))

Das ist aber nur für den Januar nötig, die anderen Monate kommen mit der kurzen Formel aus.

P.S::
Noch eine Korrektur der kurzen Formel.
Da habe ich mal wieder nicht aufgepasst und mir vom Editor ein * klauen lassen.
SO ist sie richtig:

=SUMMENPRODUKT((MONAT(B2:B26)=1)*1)

Sorry!
0
Iamiam  22.10.2014, 01:18
@Oubyi, UserMod Light

Das hab ich auch grad alles durchgekaut, genauso!
oder als Matrixformel
{=SUMME((MONAT(B2:B26)=1) * (B2:B26<>""))}
oder
{=SUMME(WENNFEHLER(MONAT(B:B)=1;0) * (B:B<>""))}
letzteres geht als Summenprodukt auch nur mit Matrixformeleingabe.

Dass 0 Jan ergibt, dürfte sich aus der eigenartigen Datumsmethode in xl erklären: 0 als Datum ergibt den 00.01.1900, das + 0,5 => 0.1.00 12:00
Vermutlich alles Konsequenzen des krampfhaften Versuchs, einen Fehler aus der Urzeit der EDV zu korrigieren: den fälschlich angenommenen, aber tatsächlich nicht existenten 29.2.1900 in den Griff zu bekommen!
sehe grade, dass Du das ja auch schon geschrieben hattest, kann es nicht mehr gezielt löschen.

1