Excel

Tæl ugedag mellem datoer

Count Day Week Between Dates

Excel-formel: Tæl ugedag mellem datoerGenerisk formel
= SUMPRODUCT (--( WEEKDAY ( ROW ( INDIRECT (start&':'&end)))=dow))
Resumé

For at tælle hverdage (mandage, fredage, søndage osv.) Mellem to datoer kan du bruge en matrixformel, der bruger flere funktioner: SUMPRODUCT, WEEKDAY, ROW og INDIRECT. I det viste eksempel er formlen i celle E6

 
= SUMPRODUCT (--( WEEKDAY ( ROW ( INDIRECT (B6&':'&C6)))=D6))

I den generiske version af formlen Start = startdato, ende = slutdato og dow = ugedag.



hvordan man tilføjer alle værdier i en kolonne i Excel
Forklaring

I kernen bruger denne formel WEEKDAY-funktion at teste et antal datoer for at se, om de lander på en given ugedag (dow) og SUMPRODUCT-funktion for at stemme op det samlede beløb.



Når der gives en dato, returnerer WEEKDAY blot et tal mellem 1 og 7, der svarer til en bestemt ugedag. Med standardindstillinger er 1 = søndag og 7 = lørdag. Så, 2 = mandag, 6 = fredag ​​osv.

Tricket til denne formel er at forstå det datoer i Excel er kun serienumre der begynder den 1. januar 1900. F.eks. er 1. januar 2016 serienummeret 42370, og den 8. januar er 42377. Datoer i Excel ligner kun datoer, når et datonummerformat anvendes.



hvordan man bruger $ i Excel

Så spørgsmålet bliver - hvordan kan du konstruere en array af datoer, som du kan føje til WEEKDAY-funktionen for at finde ud af tilsvarende ugedage?

Svaret er at bruge RÆKKE med INDIREKTE fungerer som sådan:

 
 ROW ( INDIRECT (date1&':'&date2))

INDIRECT tillader, at de sammenkædede datoer '42370: 42377' tolkes som rækkenumre. Derefter returnerer ROW-funktionen en matrix som denne:



 
{4237042371423724237342374423754237642377}

WEEKDAY-funktionen evaluerer disse tal som datoer og returnerer denne matrix:

 
{67123456}

som testes mod den givne ugedag (6 i dette tilfælde fra D6). Når resultaterne af testen er konverteret til 1s og 0s med dobbelt bindestreg, behandles denne matrix af SUMPRODUCT:

 
{10000001}

Hvilket returnerer 2.

Med SEKVENS

Med det nye SEKVENS-funktion , denne formel kan forenkles noget som dette:

oprettelse af en afskrivningsplan i Excel
 
= SUMPRODUCT (--( WEEKDAY ( SEQUENCE (end-start+1,1,start,1))=dow))

I denne version bruger vi SEQUENCE til at generere datarrayet direkte uden behov for INDIRECT eller ROW.

Dynamiske matrixformler er tilgængelige i Office 365 kun. Forfatter Dave Bruns


^