XL 2019 EQUIV(VRAI;A:A)

job75

XLDnaute Barbatruc
Bonsoir à tous,

Je ne comprends pas les résultats renvoyés par les formules comme EQUIV(VRAI;A:A) sur le fichier joint.

Si un formuliste les comprend merci de m'indiquer le pourquoi et le comment.

En fait c'est le fonctionnement de EQUIV dans la recherche d'une valeur logique qui pose problème.

Le 3ème argument étant omis.

A+
 

Pièces jointes

  • EQUIV(1).xlsx
    10.1 KB · Affichages: 28

chris

XLDnaute Barbatruc
Bonjour

Sans 3ème argument la recherche est approximative et tient compte de l'ordre des valeurs

L'alternance de lignes vides rend le résultat aléatoire : je n'ai pas l'explication
A part remarquer une certaine constance dans le traitement...

Si on les supprime cela renvoie toujours la dernière ligne

On a le même phénomène sur des valeurs non ordonnées dès que le 3ème argument manque
 

mapomme

XLDnaute Barbatruc
Bonjour à tous :),

Vraiment très étrange.
On constate que le Equiv renvoie la puissance de 2 inférieure ou égale au nombre d'élément de la colonne.
Que vient faire une puissance de 2 ?
Est-ce juste une coïncidence ?
Est-ce dû à l’algorithme interne ? Une espèce de recherche dichotomique en utilisant les puissances de 2? Bof...



A creuser... o_O
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Re,

Un algo tiré par les cheveux mais qui colle aux résultats:

  • on calcule le nombre max d'élément de la colonne (par exemple 30 pour la colonne P)
  • la puissance immédiatement inférieure ou égale est 16
  • la cellule de la ligne 16 est égale à VRAI qui est la valeur cherchée du Equiv
  • comme la colonne est censée être classée par ordre croissant (3ème paramètre =1 ou omis), je compare la valeur de la cellule au-dessus (ligne 15) à la valeur cherché VRAI. On constate que vide est strictement inférieur à VRAI
  • Donc le VRAI de la ligne 16 est censée être la première valeur égale à VRAI
Ça semble coller avec les résultats de toutes les colonnes. Et aussi avec que des valeurs numériques.
 

mapomme

XLDnaute Barbatruc
Re,

Pour ma part, le equiv avec 3ème paramètre égal à 1 ressemble bien à une recherche dichotomique (ça semble d'ailleurs naturel puisque Excel précise que le tableau est considéré comme étant trié en ordre croissant). Quand on a des cellules vides, la comparaison entre une cellule vide et la valeur recherchée donne des résultats surprenants mais prévisibles =< voir message #8).

C'est compatible avec la recherche d'un très grand nombre:
Si on recherche un très grand nombre, chaque comparaison avec une cellule puissance de 2 induira forcément une recherche "vers le bas" à chaque itération. La limite étant bien sûr la dernière valeur numérique de la colonne.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 134
Messages
2 116 614
Membres
112 812
dernier inscrit
jocelyne86360