Formule Excel: filtrer les données entre les dates -

Formule générique

=FILTER(data,(dates>=A1)*(dates<=A2),"No data")

Sommaire

Pour filtrer les données afin d'inclure des enregistrements entre deux dates, vous pouvez utiliser la fonction FILTER avec une logique booléenne. Dans l'exemple illustré, la formule en F8 est:

=FILTER(B5:D15,(C5:C15>=F5)*(C5:C15<=G5),"No data")

Qui renvoie les enregistrements avec des dates comprises entre le 15 janvier et le 15 mars inclus.

Explication

Cette formule s'appuie sur la fonction FILTER pour récupérer les données en fonction d'un test logique créé avec une expression logique booléenne. L'argument tableau est fourni sous la forme B5: D15, qui contient l'ensemble complet de données sans en-têtes. L' argument include est basé sur deux comparaisons logiques:

(C5:C15>=F5)*(C5:C15<=G5)

L'expression de gauche vérifie si les dates sont supérieures ou égales à la date «De» dans F5. Ceci est un exemple de logique booléenne. L'expression de droite vérifie si les dates sont inférieures ou égales à la date «À» dans G5. Les deux expressions sont jointes par un opérateur de multiplication, qui crée une relation AND.

Une fois les expressions logiques évaluées, nous avons:

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

Notez qu'il y a onze résultats dans chaque ensemble de parenthèses, un pour chaque date dans les données. L'opération de multiplication contraint les valeurs TRUE FALSE à 1 et 0, de sorte que le résultat final est un tableau unique comme celui-ci:

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

Notez que les quatre 1 du tableau correspondent aux quatre dates qui réussissent le test. Ce tableau est livré à la fonction FILTER et utilisé pour filtrer les données. Seules les lignes où le résultat est 1 en font la sortie finale.

L'argument "if_empty" est défini sur "No data" si aucune donnée correspondante n'est trouvée.

Articles intéressants...