MIN.SI.ENS (MINIFS en anglais) te permet de trouver la valeur minimale dans un ensemble de données en appliquant plusieurs critères simultanément. Au lieu de filtrer manuellement ton tableau puis de chercher le minimum à la main, tu poses tes conditions directement dans la formule et Excel fait le tri tout seul.
C'est l'outil qu'il te faut pour identifier le meilleur prix fournisseur sur un produit précis avec des fournisseurs actifs, le délai de livraison le plus court pour une région en excluant les transporteurs peu fiables, le salaire plancher d'un département et d'un niveau donné, ou le coût minimal dans une catégorie et un trimestre spécifiques. Disponible depuis Excel 2016.
Syntaxe de la fonction MIN.SI.ENS
=MIN.SI.ENS(plage_min; plage_critère1; critère1; [plage_critère2]; [critère2]; ...)Toutes les plages (plage_min et plage_critèreN) doivent avoir exactement la même taille. Une différence d'une seule ligne suffit à provoquer l'erreur #VALEUR!.
Comprendre chaque paramètre de la fonction MIN.SI.ENS
L'argument à minimiser vient toujours en premier (plage_min), suivi de tes conditions par paires : une plage à examiner, puis le critère qu'elle doit remplir. La première paire est obligatoire, les 125 suivantes facultatives.
Retiens que plage_min reste à part : c'est la colonne où tu cherches le plus petit nombre, jamais une colonne de filtrage.
plage_min
: la plage de cellules dans laquelle tu veux trouver le minimumPar exemple, pour le prix le plus bas, plage_min sera ta colonne de prix comme C2:C100. Cette plage doit contenir des valeurs numériques.
Cette plage est distincte des plages de critères : elle contient les valeurs à minimiser, pas les conditions de filtrage.
Astuce : Tu peux utiliser des colonnes entières (C:C) pour que ta formule s'adapte automatiquement quand ton tableau s'agrandit.
plage_critère1
: la première plage de cellules à évaluer pour le premier critèreSi tu veux filtrer par catégorie de produit, plage_critère1 sera ta colonne de catégories comme A2:A100.
Règle d'or : les plages de critères doivent avoir exactement la même taille que plage_min. Si plage_min fait 99 lignes, toutes tes plages de critères doivent aussi en faire 99.
critère1
: la condition que les cellules de `plage_critère1` doivent remplirTu peux utiliser un texte comme "Électronique", un nombre comme 100, une référence de cellule comme D5, ou une comparaison comme ">50" ou "<>Annulé".
Pour les comparaisons avec une cellule, concatène l'opérateur avec & : ">"&D5 ou "<>"&D5.
Astuce : Pour les recherches approximatives, les caractères génériques fonctionnent : "Paris*" pour tout ce qui commence par Paris, "*formation*" pour tout ce qui contient le mot formation.
[plage_critère2]; [critère2]; ...
: tu peux ajouter jusqu'à 125 paires supplémentaires de plages et critères(facultatif)Chaque paire ajoute une condition supplémentaire. La logique est ET : toutes les conditions doivent être vraies simultanément pour qu'une ligne entre dans le calcul du minimum.
Si tu veux une logique OU (minimum pour Paris OU Lyon), combine plusieurs MIN.SI.ENS avec MIN : =MIN(MIN.SI.ENS(C:C; B:B; "Paris"); MIN.SI.ENS(C:C; B:B; "Lyon")).
Pas envie d'écrire la formule MIN.SI.ENS à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Acheteur : trouver le meilleur prix fournisseur pour un produit spécifique
Tu es acheteur et tu dois trouver le prix le plus bas pour des Vis M8 parmi plusieurs fournisseurs, en excluant les fournisseurs inactifs. Filtrer manuellement et chercher le minimum prend du temps et risque d'introduire des erreurs.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Fournisseur | Produit | Prix | Statut |
| 2 | Acier Plus | Vis M8 | 2,50 € | Actif |
| 3 | Métal Pro | Vis M8 | 1,85 € | Actif |
| 4 | Visserie France | Vis M8 | 1,20 € | Inactif |
| 5 | Bolt World | Vis M6 | 1,10 € | Actif |
| 6 | Métal Pro | Vis M10 | 3,20 € | Actif |
=MIN.SI.ENS(C:C; B:B; "Vis M8"; D:D; "Actif")La fonction applique deux critères simultanément : le produit doit être Vis M8 ET le statut doit être Actif. Visserie France est exclu malgré son prix de 1,20 € car il est inactif, et Bolt World est exclu car c'est un M6. Le minimum retenu est donc 1,85 €.
Astuce de pro : Pour rendre ta formule dynamique, remplace les critères en dur par des références de cellules : =MIN.SI.ENS(C:C; B:B; G2; D:D; H2) où G2 contient le nom du produit et H2 le statut. Tu obtiens un mini-outil de recherche sans retoucher la formule.
Logisticien : identifier le délai de livraison minimal par région
Tu travailles en logistique et tu dois trouver le délai le plus rapide pour la région Île-de-France, en excluant les transporteurs dont la fiabilité est inférieure à 95 % : promettre un délai tenu par un transporteur peu fiable ne sert à rien.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Transporteur | Région | Délai (jours) | Fiabilité |
| 2 | Express Co | Île-de-France | 2 | 98 % |
| 3 | Speed Log | Île-de-France | 1 | 92 % |
| 4 | Fast Delivery | Île-de-France | 3 | 96 % |
| 5 | Quick Trans | Provence | 2 | 97 % |
| 6 | Rapid Ship | Île-de-France | 2 | 99 % |
=MIN.SI.ENS(C:C; B:B; "Île-de-France"; D:D; ">=95%")La fonction combine un critère texte exact et un critère numérique de comparaison. Speed Log est exclu malgré son délai de 1 jour car sa fiabilité est de 92 %. Le minimum parmi les transporteurs fiables d'Île-de-France est donc 2 jours.
Responsable RH : calculer le salaire minimum par département et niveau
Tu es responsable RH et tu prépares une étude de rémunération. Tu veux identifier le salaire plancher dans le département IT pour les employés Junior, afin de vérifier la cohérence de ta grille salariale avec le marché.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Employé | Département | Niveau | Salaire |
| 2 | Marie D. | IT | Junior | 32 000 € |
| 3 | Pierre L. | IT | Junior | 35 000 € |
| 4 | Sophie M. | IT | Senior | 52 000 € |
| 5 | Lucas B. | RH | Junior | 30 000 € |
| 6 | Emma R. | IT | Junior | 33 500 € |
=MIN.SI.ENS(D:D; B:B; "IT"; C:C; "Junior")La fonction croise deux critères texte. Sophie est exclue car elle est Senior, Lucas car il est en RH. Le salaire le plus bas pour un IT Junior est 32 000 €. Pour un tableau de synthèse complet, remplace les critères en dur par des références et copie la formule sur toutes les combinaisons département/niveau.
Analyste financier : trouver le coût minimal par catégorie et trimestre
Tu es analyste financier et tu dois identifier la dépense la plus basse pour la catégorie Marketing au T1 2024, en excluant les dépenses annulées. Trois niveaux de filtrage simultanés : c'est là que MIN.SI.ENS est irremplaçable.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Date | Catégorie | Montant | Statut | Trimestre |
| 2 | 15/01/2024 | Marketing | 1 200 € | Validé | T1 |
| 3 | 22/01/2024 | Marketing | 850 € | Validé | T1 |
| 4 | 10/02/2024 | Marketing | 600 € | Annulé | T1 |
| 5 | 18/03/2024 | IT | 2 400 € | Validé | T1 |
| 6 | 05/04/2024 | Marketing | 950 € | Validé | T2 |
=MIN.SI.ENS(C:C; B:B; "Marketing"; D:D; "Validé"; E:E; "T1")La fonction exclut la dépense de 600 € car elle est annulée, celle de 950 € car elle est au T2, et celle de 2 400 € car elle est en IT. Le minimum validé est 850 €.
Astuce de pro : Pour les critères de date, tu peux remplacer la colonne Trimestre par des comparaisons directes : ">="&DATE(2024;1;1) comme critère sur une colonne de dates. Cela évite de maintenir une colonne Trimestre calculée séparément.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction MIN.SI.ENS
MIN.SI.ENS ne te jette pas un code rouge : neuf fois sur dix elle renvoie discrètement 0, ce qui veut dire qu'aucune ligne n'a coché tous tes critères. Un espace en trop, une majuscule différente ou un nombre stocké en texte suffit à ce qu'elle ne trouve rien.
L'autre piège est #VALEUR!, qui apparaît dès que plage_min et tes plages de critères n'ont pas exactement le même nombre de lignes.
La formule retourne 0 alors qu'il y a des valeurs correspondantes
C'est l'erreur la plus courante. Quand aucune cellule ne correspond à tous tes critères, MIN.SI.ENS retourne 0. Le problème est que 0 peut aussi être une valeur valide dans tes données, rendant le résultat ambigu. Les causes les plus fréquentes sont des espaces invisibles, des différences de casse, ou des nombres stockés en format texte.
Solution : Utilise =NB.SI.ENS(plage_critère1; critère1; ...) avec exactement les mêmes critères pour compter les lignes correspondantes. Si le résultat est 0, tes critères sont trop restrictifs ou mal orthographiés. Si le résultat est positif, le problème vient du format de plage_min : convertis tes nombres avec =CNUM(cellule) ou via le triangle vert d'avertissement.
Erreur #VALEUR! : les plages n'ont pas la même taille
Excel affiche #VALEUR! quand plage_min et les plages de critères n'ont pas exactement le même nombre de lignes. Par exemple, plage_min en C2:C100 et plage_critère1 en A1:A100 provoquent cette erreur car C2:C100 fait 99 lignes et A1:A100 en fait 100.
Solution : Assure-toi que toutes tes plages commencent et se terminent à la même ligne. Utilise soit des colonnes entières (C:C et A:A) soit des plages avec exactement les mêmes coordonnées (C2:C100 et A2:A100).
Les comparaisons numériques ne donnent pas de résultat
Tu écris =MIN.SI.ENS(A:A; B:B; ">100") mais la formule retourne 0 alors que des valeurs dépassent 100. Souvent, les nombres dans la colonne B sont stockés en format texte : Excel ne peut pas les comparer numériquement.
Solution : Sélectionne la colonne, clique sur le triangle vert d'avertissement et choisis « Convertir en nombre ». Tu peux aussi sélectionner une cellule vide contenant 1, copier, sélectionner ta plage problématique, puis Collage spécial > Multiplier.
Résultat erroné avec MIN(SI()) matriciel à la place de MIN.SI.ENS
Certains utilisateurs utilisent encore =MIN(SI(condition; plage)) validé en Ctrl+Shift+Entrée. Cette syntaxe fonctionne mais est plus lente, plus difficile à lire, et plus sujette aux erreurs qu'une formule MIN.SI.ENS directe.
Solution : Remplace la formule matricielle par =MIN.SI.ENS(plage_min; plage_critère; critère). La syntaxe est plus intuitive, la performance meilleure, et aucune validation spéciale n'est requise.
MIN.SI.ENS vs MIN vs MIN + SI matriciel
Prends MIN.SI.ENS dès que ton minimum dépend d'une ou plusieurs conditions. Si tu cherches juste le plus petit nombre d'une colonne sans filtre, le simple MIN suffit et va plus vite.
Le vieux MIN(SI()) matriciel ne se justifie plus que sur Excel antérieur à 2016 : ailleurs il est plus lent, moins lisible et impose le Ctrl+Shift+Entrée.
| Critère | MIN.SI.ENS | MIN simple | MIN + SI matriciel |
|---|---|---|---|
| Critères multiples | Jusqu'à 126 paires | Aucun critère | Oui (complexe) |
| Facilité | ⭐⭐⭐ | ⭐⭐⭐ | ⭐ |
| Performance | Rapide | Très rapide | Lent |
| Compatibilité | Excel 2016+ | Toutes versions | Toutes versions |
| Cas d'usage idéal | Analyse conditionnelle | Minimum sans condition | Excel pré-2016 |
Astuces avancées avec MIN.SI.ENS
Récupère la ligne complète du minimum avec INDEX/EQUIV
MIN.SI.ENS te donne la valeur minimale, mais tu veux souvent connaître aussi le fournisseur, la date ou d'autres détails de la même ligne. Combine MIN.SI.ENS avec INDEX et EQUIV : =INDEX(A:A; EQUIV(MIN.SI.ENS(C:C; B:B; "IT"); C:C; 0)) retourne le nom dans la colonne A de la ligne qui contient le minimum trouvé dans C:C pour les entrées IT.
Cette technique est particulièrement utile dans les tableaux de bord où tu as besoin d'identifier qui ou quoi correspond au meilleur résultat.
Gère la logique OU avec plusieurs MIN.SI.ENS imbriqués dans MIN
MIN.SI.ENS utilise une logique ET : toutes les conditions doivent être vraies. Pour une logique OU, c'est-à-dire le minimum pour la région Paris OU Lyon, encapsule plusieurs MIN.SI.ENS dans une fonction MIN : =MIN(MIN.SI.ENS(C:C; B:B; "Paris"); MIN.SI.ENS(C:C; B:B; "Lyon")) retourne le minimum des deux régions sans avoir besoin de formules matricielles.
Cette syntaxe reste lisible même avec 3 ou 4 régions.
Crée des critères dynamiques basés sur la date du jour
Pour suivre le minimum de l'année en cours sans toucher à la formule, utilise =MIN.SI.ENS(A:A; B:B; ">="&DATE(ANNEE(AUJOURDHUI()); 1; 1)). La date pivot se recalcule automatiquement au 1er janvier de chaque année.
Cette technique est la base des tableaux de bord qui se mettent à jour sans maintenance manuelle.
Questions fréquentes sur la fonction MIN.SI.ENS
Pourquoi MIN.SI.ENS retourne 0 alors que j'ai des valeurs ?
Tes critères ne correspondent à aucune cellule. Vérifie les espaces invisibles, les différences de casse, ou le format des cellules (texte vs nombre). Utilise =NB.SI.ENS(plage_critère1; critère1; ...) avec les mêmes critères pour compter les lignes correspondantes. Si le résultat est 0, le problème vient des critères eux-mêmes.
Peut-on utiliser MIN.SI.ENS avec des dates ?
Oui, les dates sont des nombres pour Excel. Tu peux écrire =MIN.SI.ENS(A:A; B:B; ">"&DATE(2024;1;1)) pour trouver la date minimale après le 1er janvier 2024. La fonction DATE te permet de créer des critères dynamiques qui restent justes d'une année sur l'autre.
Existe-t-il une version MIN.SI avec un seul critère ?
Non, Excel ne propose que MIN.SI.ENS qui accepte plusieurs critères. Si tu n'as qu'un seul critère, utilise MIN.SI.ENS avec une seule paire plage/critère. La syntaxe est exactement la même, tu omets simplement les paires supplémentaires.
Comment gérer le cas où aucune valeur ne correspond ?
MIN.SI.ENS retourne 0 quand aucune cellule ne correspond, ce qui peut être trompeur si 0 est une valeur valide dans tes données. Utilise =SI(NB.SI.ENS(plage_critère1; critère1)=0; "Aucune correspondance"; MIN.SI.ENS(...)) pour afficher un message clair quand il n'y a pas de résultat.
Peut-on combiner MIN.SI.ENS avec des caractères génériques ?
Oui. Le * remplace plusieurs caractères et le ? remplace un seul. Par exemple, =MIN.SI.ENS(A:A; B:B; "Paris*") trouve le minimum pour toutes les cellules commençant par Paris (Paris, Paris 15, Parisien...). Très utile pour les recherches approximatives sur des libellés non standardisés.
Pour aller plus loin
Les fonctions similaires : MAX.SI.ENS, MIN, PETITE.VALEUR, MOYENNE.SI.ENS, NB.SI.ENS
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

