2 votes

HLOOKUP : donne des données inexactes en fonction de la formule de la valeur de référence.

J'ai rencontré un problème étrange en essayant de travailler avec la fonction HLOOKUP. J'ai construit un cas simple ici pour le démontrer.

Dans la colonne commençant en C7, je vais entrer les fonctions hlookup (indiquées dans la colonne D). Les valeurs de lookup commencent dans la colonne B. Les formules de la colonne A sont celles que j'ai entrées dans la colonne B.

Le tableau de référence se trouve dans les deux rangées supérieures. La valeur de la consultation correspond à la première ligne et la valeur correspondante dans la deuxième ligne est retournée en sortie.

Excel Screenshot

J'ai essayé de rechercher les valeurs .01 et .02 dans le tableau.

Si ça marche bien, ça devrait donner "B" pour .01 et "C" pour .02.

Mais comme on le voit ici, je n'obtiens la bonne réponse qu'en fonction de la formule que j'utilise pour la valeur de consultation.

Par exemple, dans le cas de .01, j'obtiens la bonne réponse lorsque j'utilise les formules ".01" et ".31-.3", mais pas pour d'autres comme ".11-.1".

De même pour .02, j'obtiens la bonne réponse lorsque j'utilise les formules ".02" et ".32-.3". Tout le reste me donne la valeur de la cellule qui précède la bonne.

S'il vous plaît, dites-moi ce qui ne va pas ici !

1voto

Aganju Points 9650

HLOOKUP (et aussi VLOOKUP) a un quatrième paramètre (facultatif), qui définit s'il recherche une correspondance exacte, ou la dernière valeur qui n'est pas plus grande que la valeur recherchée ; la valeur par défaut est la dernière.

En gros, il fonctionne comme prévu . Lisez l'aide et réglez le quatrième paramètre pour obtenir le résultat que vous recherchez.

1voto

Vylix Points 1700

J'ai fait quelques expériences, et j'ai découvert que la meilleure façon de faire est d'envelopper les deux valeur de consultation et tableau de consultation dans TEXT fonction

Array formula of TEXT


TEXT(B4, "0.00") se réfère à la valeur de référence, et formate la valeur à deux décimales.

TEXT($A$1:$D$2, "0.00") se réfère à la table de consultation, et formate tous les nombres à deux décimales.

IMPORTANT ! Vous devez utiliser le même format y vous devez Ctrl + Shift + Enter 代わりに Enter pour saisir une formule de tableau.

EDIT : L'index de recherche d'une table (ce qu'elle recherche lors de la recherche initiale) est la recherche de TEXT o INTEGER pas long o double ou des nombres réels.

Si vous importez la table de consultation ou la valeur à partir d'un texte ou de csv envisagez de les importer en tant que TEXT . Vous pouvez reconvertir en nombre en utilisant VALUE fonction. Ou bien vous pouvez convertir en nombre en utilisant d'autres méthodes .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X