Résumé
Pour trouver la valeur maximum en appliquant plusieurs critères dont une condition de texte sensible à la casse (présence des majuscules et minuscules), il faut utiliser la fonction MAX, la fonction FILTRE, la fonction ESTNUM et la fonction TROUVE. Dans l’exemple ci-dessus, la formule en F5 est :
= MAX( FILTRE( D5:D10 ; ESTNUM( TROUVE( "PA" ; B5:B11 ) ) * ( C5:C10>31 ) ) )
Cette formule permet de trouver la valeur maximale dans la plage de valeurs D5:D11 si la valeur « PA » en majuscules est présente dans la plage de cellules B5:B11 et que la valeur en C5:C11 est supérieure à 30.
Formule Excel – MAX.SI.ENS sensible à la casse
= MAX(
FILTRE( valeurs ;
ESTNUM( TROUVE( critère ; plage_texte ) ) * ( plage_test_logique )
)
)
Explications
Dans l’exemple, l’objectif est de trouver la plus grande valeur (plage D5:D11) si l’article (présent en B5:B11) contient la valeur « PA » et que la quantité (plage C5:C11) est supérieure à 30. Nous voulons que la formule soit sensible à la casse c’est-à-dire qu’elle tienne compte de la présence des minuscules et des majuscules.
Nous ne pourrons pas utiliser la fonction MAX.SI.ENS car elle ne permet d’obtenir de solution viable. Il faudra utiliser la fonction MAX, la fonction FILTRE, la fonction ESTNUM, la fonction TROUVE.
Fonction TROUVE
La fonction TROUVE permet de récupérer la position d’un caractère ou d’une chaîne de caractères dans un texte. Cette fonction est sensible à la casse. C’est-à-dire qu’elle tiendra compte de la présence des majuscules et minuscules. Sa syntaxe est la suivante :
= TROUVE( texte_cherché ; texte ; [no_départ] )
Dans notre cas, nous allons appliquer cette recherche sur une plage de cellules en fonction du texte cherché. Le résultat renvoyé sera une plage de valeurs. Si la fonction TROUVE n’identifie pas le texte cherché, elle renverra une erreur
= TROUVE( "PA" ; B5:B11 )
--> Résultat: { #VALEUR! ; #VALEUR! ; 6 ; 5 ; #VALEUR! ; 5 ; #VALEUR! }
Dans notre exemple, seules les 3e, 4e et 6e cellules contiennent « PA ». Les autres renvoient une erreur.
Fonction ESTNUM
La fonction ESTNUM permet de vérifier si une valeur est numérique. Si c’est le cas, elle renverra VRAI sinon elle renverra FAUX.
= ESTERREUR( 6 ) --> VRAI
= ESTERREUR( #VALEUR! ) --> FAUX
En appliquant cette fonction au résultat précédent, nous obtenons une plage de valeurs composée de VRAI/FAUX :
= ESTNUM( { #VALEUR! ; #VALEUR! ; 6 ; 5 ; #VALEUR! ; 5 ; #VALEUR! } )
--> Résultat: { FAUX ; FAUX ; VRAI ; VRAI ; FAUX ; VRAI ; FAUX }
Fonction FILTRE
La fonction FILTRE permet de filtrer une plage de données en fonction d’un ou plusieurs critères. Sa syntaxe est la suivante :
= FILTRE( tableau ; inclure ; [si_vide] )
Les arguments de cette fonction sont :
- tableau : la plage de données à filtrer.
- inclure : une expression permettant de filtrer sur les résultats.
- [si_vide] : le résultat à retourner s’il n’y a aucune ligne correspondante.
Le premier argument est la plage de valeurs que nous voulons récupérer. Le second argument est une expression qui nous permet de filtrer les résultats. Cette expression doit renvoyer une plage de valeurs composée de VRAI/FAUX ou 0/1. Elle sera de la forme suivante :
(A2:A5="Test")*(B2:B5>DATE(2023;1;1))*(C2:C5<=1000)
Dans notre exemple, nous avons déjà généré une plage de valeurs composée de VRAI/FAUX suite à l’application du critère textuel sensible à la casse. Nous voulons le conjuguer avec un autre critère (numérique cette fois-ci). Nous obtenons :
= ESTNUM( TROUVE( "PA" ; B5:B11 ) ) * ( C5:C11>30 )
--> Résultat: { 0 ; 0 ; 0 ; 1 ; 0 ; 1 ; 0 }
Le résultat indique que seules deux lignes répondent aux critères.
Intégré dans la fonction FILTRE, on récupère la liste des valeurs répondant aux critères :
= FILTRE( D5:D11 ; ESTNUM( TROUVE( "PA" ; B5:B11 ) ) * ( C5:C11>30 ) )
--> Résultat: { 833 ; 550 }
Nous avons à présent une liste de valeurs répondant aux conditions définies et sur lesquelles nous pouvons déterminer la valeur la plus basse.
Fonction MAX
La fonction MAX permet de récupérer la valeur la plus élevée dans une série de données. Cette fonction ignore les cellules vides et les textes mais pas les erreurs.
= MAX( "" ; 12 ; 6 ; "test" ; "" )
--> Résultat: 12
Si nous appliquons la fonction MAX au résultat précédemment obtenu, nous avons :
= MAX( { 833 ; 550 } )
--> Résultat: 833
Nous obtenons la valeur maximale des articles qui contiennent « PA » (avec sensibilité à la casse) et dont la quantité est supérieure à 30.
Formules en lien
- MIN sensible à la casse
- MAX sensible à la casse
- MIN.SI.ENS sensible à la casse
- Compter le nombre de cellules contenant une formule
- SOMME.SI plusieurs critères
- Somme si vide
- Compter le nombre de cellules égales à un texte
- Compter le nombre de cellules contenant une partie du texte (mot, caractère)
- Compter nombre de valeurs texte différentes
- Compter le nombre de cellules non vides
- NB.SI avec plusieurs critères
- Trouver des doublons avec NB.SI
- Somme si différent de
- Somme si contient