Recherche de la plus petite valeur paire (Microsoft Excel)
Emin a une plage de cellules dans lesquelles il peut y avoir du texte ou des nombres.
Il a besoin d’un moyen de déterminer le plus petit nombre pair de la plage. Emin se demande si cela peut être fait avec une formule ou s’il a besoin d’une fonction définie par l’utilisateur.
Vous pouvez aborder ce problème de plusieurs manières. Une méthode que vous pouvez essayer consiste à utiliser la fonction DMIN. Tout ce dont vous avez besoin est de vous assurer que vous avez un en-tête sur votre colonne de données (comme « MyData »), puis de créer un petit champ de critères dans un endroit éloigné. Par exemple, vous souhaiterez peut-être créer le champ de critères en plaçant un en-tête (tel que «Min Even») dans la cellule F1 et placer la formule = ISEVEN (MyData) dans la cellule F2. La cellule F2 est évaluée à #VALUE! erreur, mais c’est bien dans ce cas. Vous pouvez ensuite utiliser la formule suivante dans une autre cellule:
=DMIN(A1:A100, 1, F1:F2)
Si vous préférez, vous pouvez utiliser une formule matricielle pour déterminer la valeur paire la plus basse. Étant donné que votre plage de données peut contenir du texte ainsi que des nombres, toutes les formules matricielles ne fonctionneront cependant pas. Par exemple, ce qui suit générera une erreur s’il n’y a rien d’autre que des nombres dans la plage de données:
=MIN(IF(MOD(A1:A100,2)=0,A1:A100))
Pour vous assurer que vous n’obtenez pas les erreurs, vous devez vérifier la formule:
=MIN(IF(ISNUMBER(A1:A100),IF(NOT(MOD(A1:A100,2)=0),"",A1:A100)))
Encore une fois, rappelez-vous qu’il s’agit d’une formule matricielle, vous devez donc la saisir en utilisant Maj + Ctrl + Entrée.
Si vous préférez, vous pouvez créer une fonction définie par l’utilisateur qui renverra la valeur souhaitée:
Function MinEven(rng As Range) Dim rCell As Range Dim bNotFound As Boolean Application.Volatile MinEven = 9.99 * 10 ^ 307 bNotFound = True For Each rCell In rng If Application.WorksheetFunction.IsNumber(rCell) Then If rCell Mod 2 = 0 Then If rCell < MinEven Then MinEven = rCell bNotFound = False End If End If End If Next If bNotFound Then MinEven = CVErr(xlErrNum) End Function
Pour utiliser cette macro, utilisez simplement ce qui suit avec une cellule de votre feuille de calcul:
=MinEven(A1:A100)
S’il n’y a pas de nombres pairs dans la plage, la fonction renvoie une erreur #Num.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (119) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
link: / excelribbon-Finding_the_Smallest_Even_Value [Recherche de la plus petite valeur paire]
.