Dans l’exemple ci-dessous, on
voit en F1 et en F2 le résultat de notre tableau en A1:D12, soit la valeur 7.
Question : Quelle
formule utiliser pour trouver le plus petit entier unique ?
Voici
deux réponses intéressantes.
La
première solution a été proposée par Elias Estrada, avec une formule
matricielle, donc validée avec [Ctrl]-[Maj]-[Entrée].
Formule
de F1 : =min(si(nb.si(B1:D50;B1:D50)=1;B1:D50))
La
seconde solution, proposée par Stephen Dunn, ne requiert même pas de formule
matricielle. Elle est en revanche sensiblement plus complexe :
Formule
de F2 : =min(index($B$1:$D$50+10^9*((nb.si($B$1:$D$50;$B$1:$D$50)>1)+($B$1:$D$50=""));))
Je
vous laisse le plaisir de la décortiquer pour comprendre son mode de
fonctionnement… Cela
revient à ajouter un grand nombre dès que la cellule concernée contient un
nombre non unique ou est vide.
Remarque
– On peut remplacer 10^9 par 100 si l’on est sûr que le plus petit nombre
unique est inférieur à 100…
Pour
pouvoir tester ces formules en « grandeur nature », je me suis amusé
à créer des séries aléatoires pour les trois nombres proposés. Voici les
formules que j’ai entrées en ligne :
B1 :
=ent(1+9*alea())
C1 :
=ent(B1+1+9*alea())
J’ai
ensuite recopié C1 en D1, puis le bloc B1:D1 vers le bas…
Aucun commentaire:
Enregistrer un commentaire