Formule Excel: Filtrer les valeurs dans une formule matricielle -

Table des matières

Formule générique

(=IF(ISNUMBER(MATCH(data,filter,0)),data))

Sommaire

Pour filtrer des données dans une formule matricielle (pour exclure ou exiger certaines valeurs), vous pouvez utiliser une formule matricielle basée sur les fonctions IF, MATCH et ISNUMBER.

Dans l'exemple illustré, la formule en H5:

(=COUNT(IF(ISNUMBER(MATCH(data,filter,0)),data)))

où "données" est la plage nommée B4: D11 et "filtre" est la plage nommée F4: F6.

Remarque: il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée.

Explication

  1. La fonction MATCH vérifie toutes les valeurs de la plage nommée "data" par rapport aux valeurs de "filter"
  2. ISNUMBER convertit les valeurs correspondantes en TRUE et les valeurs non correspondantes en FALSE
  3. IF utilise la sortie de tableau dans # 2 ci-dessus pour filtrer les valeurs, à l'exclusion des valeurs dans "filtre"

Le tableau final ressemble à ceci:

(1, FAUX, 3; FAUX, 4, FAUX; FAUX, FAUX, FAUX; 1, FAUX, 3; FAUX, FAUX, FAUX; 3, FAUX, FAUX; FAUX, 4, FAUX; FAUX, FAUX, 4)

COUNT n'est utilisé que pour vérifier le résultat.

Filtrer pour exclure

Dans la cellule H6, la formule a été modifiée pour exclure les valeurs utilisant 1-ISNUMBER comme ceci:

=COUNT(IF(1-ISNUMBER(MATCH(data,filter,0)),data))

Cela inverse efficacement la sortie du tableau à l'étape 2 ci-dessus.

Articles intéressants...