
Generisk formel
=SUMPRODUCT(--(WEEKDAY(dates)=day_num))
Sammendrag
For å telle datoer etter ukedager (dvs. telle mandager, tirsdager, onsdager osv.), Kan du bruke SUMPRODUCT-funksjonen sammen med WEEKDAY-funksjonen. I eksemplet vist er formelen i F4:
=SUMPRODUCT(--(WEEKDAY(dates,2)=E4))
Merk: "datoer" er det navngitte området B4: B15.
Forklaring
Du lurer kanskje på hvorfor vi ikke bruker COUNTIF eller COUNTIF? Disse funksjonene virker som den åpenbare løsningen. Uten å legge til en hjelpekolonne som inneholder en ukedagsverdi, er det imidlertid ingen måte å lage et kriterium for COUNTIF for å telle hverdager i en rekke datoer.
I stedet bruker vi den allsidige SUMPRODUCT-funksjonen, som håndterer matriser elegant uten behov for å bruke Control + Shift + Enter.
Vi bruker SUMPRODUCT med bare ett argument, som består av dette uttrykket:
--(WEEKDAY(dates,2)=E4)
Arbeidet fra innsiden og ut er WEEKDAY-funksjonen konfigurert med valgfritt argument 2, som får den til å returnere tallene 1-7 for henholdsvis dagene mandag-søndag. Dette gjør det lettere å liste dagene i rekkefølge med tallene i kolonne E i rekkefølge.
WEEKDAY evaluerer deretter hver dato i det valgte området "datoer" og returnerer et tall. Resultatet er en matrise som dette:
(1;3;7;1;5;2;7;1;7;5;4;7)
Tallene som returneres fra WEEKDAY sammenlignes deretter med verdien i E4, som er 1:
(1;3;7;1;5;2;7;1;7;5;4;7)=1
Resultatet er en matrise med SANNE / FALSE verdier.
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE)
SUMPRODUCT fungerer bare med tall (ikke tekst eller booleanere), så vi bruker dobbeltnegativet til å tvinge de SANNE / FALSE verdiene til ens og nuller:
(1;0;0;1;0;0;0;1;0;0;0;0)
Med en enkelt matrise å behandle, summerer SUMPRODUCT elementene og returnerer resultatet, 3.
Håndterer blanke datoer
Hvis du har tomme celler i listen over datoer, vil du få feil resultater, siden WEEKDAY-funksjonen returnerer et resultat selv når det ikke er noen dato. For å håndtere tomme celler kan du justere formelen som følger:
=SUMPRODUCT((WEEKDAY(dates,2)=E4)*(dates""))
Å multiplisere med uttrykket (datoer "") er en måte å avbryte tomme celler.