Formula Excel: Numărați datele după ziua săptămânii -

Formula generică

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

rezumat

Pentru a număra datele după ziua săptămânii (adică numărați luni, marți, miercuri etc.), puteți utiliza funcția SUMPRODUCT împreună cu funcția WEEKDAY. În exemplul prezentat, formula din F4 este:

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

Notă: „date” este intervalul numit B4: B15.

Explicaţie

S-ar putea să vă întrebați de ce nu folosim COUNTIF sau COUNTIF? Aceste funcții par soluția evidentă. Cu toate acestea, fără a adăuga o coloană de ajutor care conține o valoare a zilei săptămânii, nu există nicio modalitate de a crea un criteriu pentru COUNTIF pentru a număra zilele săptămânii într-un interval de date.

În schimb, folosim funcția SUMPRODUCT versatilă, care gestionează graficele matrice fără a fi nevoie să folosiți Control + Shift + Enter.

Folosim SUMPRODUCT cu un singur argument, care constă din această expresie:

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

Funcționând din interior spre exterior, funcția WEEKDAY este configurată cu argumentul opțional 2, care îl determină să returneze numerele 1-7, respectiv pentru zilele de luni-duminică. Acest lucru face mai ușoară listarea zilelor în ordine, cu numerele din coloana E în ordine.

WEEKDAY evaluează apoi fiecare dată din intervalul numit „date” și returnează un număr. Rezultatul este o matrice ca aceasta:

(1;3;7;1;5;2;7;1;7;5;4;7)

Numerele returnate de WEEKDAY sunt apoi comparate cu valoarea din E4, care este 1:

(1;3;7;1;5;2;7;1;7;5;4;7)=1

Rezultatul este o serie de valori ADEVĂRATE / FALSE.

(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE)

SUMPRODUCT funcționează numai cu numere (nu text sau booleeni), așa că folosim negativul dublu pentru a constrânge valorile ADEVĂRATE / FALSE la unul și la zerouri:

(1;0;0;1;0;0;0;1;0;0;0;0)

Cu o singură matrice de procesat, SUMPRODUCT sumează articolele și returnează rezultatul, 3.

Se ocupă de date necompletate

Dacă aveți celule goale în lista de date, veți obține rezultate incorecte, deoarece funcția WEEKDAY va returna un rezultat chiar și atunci când nu există o dată. Pentru a gestiona celulele goale, puteți ajusta formula după cum urmează:

=SUMPRODUCT((WEEKDAY(dates,2)=E4)*(dates""))

Înmulțirea cu expresia (date "") este o modalitate de a anula celulele goale.

Articole interesante...