web-dev-qa-db-fra.com

Formule pour calculer la cardinalité de l'intersection de deux séries de dates

Donné:

  • Deux dates, les limites d'une plage de dates;
  • Une liste de dates (donnée in-extenso dans une ligne ou une colonne);

Existe-t-il un moyen, dans Google Spreadsheet, d’obtenir le nombre de dates (jours) dans la plage de dates incluses dans la liste de dates?

Exemple:

[2017-01-01;2017-01-31] intersected with {2017-01-01, 2017-03-01} would yield 1

Parce que la plage à gauche, considérée comme un jeu, contient les 31 jours de janvier {2017-01-01, ..., 2017-01-31} et que le jeu à droite contient la date 2017- 01-01, qui est un jour de janvier.

1
Cans

Suppose que:

A1: détient la date de début
A2: Détient la date de fin
La colonne B contient la liste des dates à compter

=QUERY(
  B:B,
  "select COUNT(B) where B >= date '"&
  TEXT(A1,"yyyy-mm-dd")&
  "' AND B <= date '"&
  TEXT(A2,"yyyy-mm-dd")&
  "' label COUNT(B) ''"
)
0
Rubén