Excel

Räkna datum efter veckodag

Count Dates Day Week

Excel -formel: Räkna datum efter veckodagGenerisk formel | _+_ | Sammanfattning

För att räkna datum efter vardag (dvs. räkna måndagar, tisdagar, onsdagar etc.) kan du använda funktionen SUMPRODUCT tillsammans med funktionen WEEKDAY. I exemplet som visas är formeln i F4:



= SUMPRODUCT (--( WEEKDAY (dates)=day_num))

Obs: 'datum' är namngivet intervall B4: B15.

excel om datum är mellan två datum returvärde
Förklaring

Du kanske undrar varför vi inte använder det RÄKTA eller RÄKNINGAR ? Dessa funktioner verkar vara den självklara lösningen. Men utan att lägga till en hjälparkolumn som innehåller ett veckodagsvärde finns det inget sätt att skapa ett kriterium för COUNTIF för att räkna vardagar i ett datumintervall.





Istället använder vi den mångsidiga SUMPRODUCT -funktionen som hanterar matriser graciöst utan att behöva använda Control + Shift + Enter.

Vi använder SUMPRODUCT med bara ett argument, som består av detta uttryck:



 
= SUMPRODUCT (--( WEEKDAY (dates,2)=E4))

Fungerar inifrån och ut, är WEEKDAY-funktionen konfigurerad med det valfria argumentet 2, vilket får den att returnera siffrorna 1-7 för dagarna måndag-söndag. Detta gör det lättare att lista dagarna i ordning med siffrorna i kolumn E i ordning.

WEEKDAY utvärderar sedan varje datum i det angivna intervallet 'datum' och returnerar ett nummer. Resultatet är en matris så här:

 
--( WEEKDAY (dates,2)=E4)

Siffrorna som returneras av WEEKDAY jämförs sedan med värdet i E4, vilket är 1:

 
{137152717547}

Resultatet är en uppsättning SANT/FALSKA värden.

 
{137152717547}=1

SUMPRODUCT fungerar bara med siffror (inte text eller booleaner) så vi använder dubbel-negativ för att tvinga de sanna/falska värdena till en och nollor:

hur man sammanfogar i Excel
 
{TRUEFALSEFALSETRUEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSE}

Med en enda matris att bearbeta summerar SUMPRODUCT objekten och returnerar resultatet, 3.

Hanterar tomma datum

Om du har tomma celler i datumlistan får du felaktiga resultat, eftersom funktionen WEEKDAY returnerar ett resultat även om det inte finns något datum. För att hantera tomma celler kan du justera formeln enligt följande:

 
{100100010000}

Multiplicering med uttrycket (datum '') är ett sätt att avbryta tomma celler.

Författare Dave Bruns


^