web-dev-qa-db-fra.com

Excel VLOOKUP renvoyant la même valeur dans toutes les lignes

La fonction vlookup semble être cassée. Il renvoie la même valeur pour toutes les recherches, mais cela ne devrait pas être le cas.

Je l'ai réglé comme suit:

=VLOOKUP(A3, Asset_Mapping!A$2:B$673, 1)

Où la valeur de recherche est dans la colonne B et le résultat est dans la colonne A.

J'utilise le $ pour que les lignes ne soient pas mises à jour automatiquement en A3: B674, etc. lorsque je colle la formule dans les lignes. Cependant, même si j'entre manuellement cette formule dans la ligne suivante, cela ne permet pas de trouver la valeur correcte.

Si je supprime le "$", les valeurs correctes sont trouvées pour les premières lignes où elles se situent dans la plage modifiée (par exemple, Asset_Mapping! A3: B674), mais finissent par ne plus trouver les valeurs car la plage est invalide.

Qu'est-ce que je fais mal ici? J'ai des formules définies pour calculer automatiquement.

2
Alexx

Sans tester vos données réelles, il est difficile de confirmer que cela fonctionnera, mais ajoutez le paramètre false. Cela trouvera des correspondances exactes et non la première correspondance partielle.

=VLOOKUP(A3, Asset_Mapping!A$2:B$673, 1, false)

Rassembler les points et clarifier la formule

Paramètre 1: la valeur que vous recherchez

Paramètre 2: La table avec les données. La première colonne est la valeur que vous recherchez.

Paramètre 3: Le numéro de colonne de la valeur que vous souhaitez afficher.

Paramètre 4: Si vous voulez une correspondance exacte ou partielle.

@Jeeped a mis le point de commander des données pour obtenir des résultats plus fiables. Bon conseil.

4
Rob White

La valeur de recherche doit également figurer dans la première colonne.

1
prasenjit barman

Juste au cas où ajouter une solution à ce sujet. Je ne sais pas pourquoi dans les grandes tables, Vlookup et Index + Match ont tendance à ne montrer que la valeur du premier résultat dans toutes les autres cellules.

Dans mon cas, pour résoudre ce problème, après avoir copié la formule dans toute la plage, je choisis n'importe quelle cellule qui la contient, appuyez sur F2 puis sur Entrée. Cela oblige Excel à tout traiter.

0
Andrés Roldán

Où la valeur de recherche est dans la colonne B et le résultat est dans la colonne A.

VLOOKUP recherche toujours dans la colonne la plus à gauche et renvoie une valeur à partir du numéro de colonne spécifié. Si vous souhaitez inverser l'ordre de recherche/retour, utilisez INDEX (..., MATCH (...))

=INDEX(Asset_Mapping!A$2:A$673, MATCH(A3, Asset_Mapping!B$2:B$673, 0))

Notez que vous utilisiez une recherche triée et binaire; J'ai changé ceci en une recherche de correspondance exacte qui ne nécessite pas de données triées.

0
user4039065