Intersecția intervalelor de date

Una dintre sarcinile tipice pentru un utilizator Microsoft Excel. Avem două intervale de date de tipul „început-sfârșit”. Provocarea este de a determina dacă aceste intervale se suprapun și, dacă da, cu câte zile.

Se intersectează sau nu?

Să începem prin a rezolva întrebarea dacă există în principiu o intersecție a intervalelor? Să presupunem că avem un tabel cu ture de lucru pentru angajați ca acesta:

Se vede clar că schimburile de lucru ale lui Yaroslav și Elena se intersectează, dar cum să calculăm acest lucru fără a recurge la construirea unui program calendaristic și control vizual? Funcția ne va ajuta SUMPRODUCT (SUMAPRODUS).

Să introducem o altă coloană în tabelul nostru cu o formulă care dă valoarea booleană TRUE dacă datele se intersectează:

Câte zile durează traversarea?

Dacă, în principiu, nu este ușor să înțelegem dacă intervalele noastre se intersectează sau nu, dar să știm exact câte zile cad exact în intersecție, atunci sarcina devine mai complicată. În mod logic, este necesar să „pompăm” până la 3 situații diferite într-o singură formulă:

  • intervalele nu se suprapun
  • unul dintre intervale îl absoarbe complet pe celălalt
  • intervalele se intersectează parțial

Din când în când, văd implementarea acestei abordări de către alți utilizatori folosind o grămadă de funcții IF imbricate etc.

De fapt, totul se poate face frumos folosind funcția MEDIAN (MEDIAN) din categorie Statistic.

Dacă desemnăm condiționat începutul primului interval ca N1, iar sfârșitul pentru K1, și începutul celui de-al doilea N2 şi sfârşitul pentru K2, atunci în termeni generali formula noastră poate fi scrisă ca:

=MEDIANĂ(N1;K1+ 1;K2+1)-MEDIAN(N1;K1+ 1;N2)

Compact și elegant, nu-i așa? 😉

  • Cum funcționează de fapt Excel cu datele? Cum se calculează numărul de zile calendaristice sau lucrătoare între date?
  • Cum să construiți un program de calendar (sărbători, antrenamente, ture...) în Excel folosind formatarea condiționată?
  • Verificarea uneia sau mai multor condiții cu funcții IF (IF).

Lasă un comentariu