Formule Excel: la première occurrence de correspondance ne contient pas -

Table des matières

Formule générique

(=MATCH(FALSE,logical_test,0))

Sommaire

Pour obtenir la position de la première correspondance qui ne contient pas de valeur spécifique, vous pouvez utiliser une formule matricielle basée sur les fonctions MATCH, SEARCH et ISNUMBER. Dans l'exemple illustré, la formule en E5 est:

(=MATCH(FALSE,data="red",0))

où "data" est la plage nommée B5 "B12.

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

Explication

Cette formule dépend d'un résultat TRUE ou FALSE d'un test logique, où FALSE représente la valeur que vous recherchez. Dans l'exemple, le test logique est data = "red", entré comme argument lookup_array dans la fonction MATCH:

=MATCH(FALSE,data="red",0)

Une fois le test exécuté, il renvoie un tableau ou des valeurs TRUE et FALSE:

=MATCH(FALSE,(TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE),0)

Avec lookup_value défini sur FALSE et match_type défini sur zéro pour forcer et correspondre exactement, la fonction MATCH renvoie 4, la position du premier FALSE dans le tableau.

Obtenir la valeur associée

Pour récupérer la valeur associée de la colonne Quantité, où "quantité" est la plage nommée C5: C12, vous pouvez utiliser INDEX et MATCH ensemble:

(=INDEX(quantity,MATCH(FALSE,data="red",0)))

Littéral contient

Si vous devez faire correspondre la première valeur qui littéralement «ne contient pas», vous pouvez utiliser une variante de la formule. Par exemple, pour faire correspondre la première valeur des données qui ne contiennent pas de "r", vous pouvez utiliser:

(=MATCH(FALSE,ISNUMBER(SEARCH("r",data)),0))

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

Pour plus de détails sur ISNUMBER + SEARCH, consultez cette page.

Articles intéressants...