Excel-formel: Telle datoer etter ukedag -

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.

Interessante artikler...