En utilisant l'exemple de tableau ci-dessous, je peux utiliser la formule =VLOOKUP("ABC123456",Table1,3,FALSE)
pour rechercher la Demand
valeur, mais je veux pouvoir effectuer la recherche en utilisant le Cust Part
champ sans avoir à faire du Cust Part
champ la première colonne du tableau. Faire Cust Part
la première colonne n'est pas une solution acceptable, car je dois également effectuer des recherches en utilisant le Part
champ, et je ne veux pas utiliser de plages codées en dur (par exemple $B$2:$C$4
) principalement par question, mais aussi parce que l'utilisation de la table et du champ les noms facilitent la lecture de la formule. Y a-t-il un moyen de faire ça?
la source
Vous pouvez combiner
INDEX
et obtenirMATCH
le même résultatVLOOKUP
sans que la comparaison soit limitée à la première colonne. Bien qu'il soit légèrement plus complexe.Fondamentalement, vous utilisez
MATCH
pour trouver le numéro de ligne etINDEX
obtenir la valeur.Remarque: Contrairement
VLOOKUP
, si le résultat est une cellule vide,INDEX
retournera0
au lieu d'une chaîne vide.la source
VLOOKUP
"? Il se comporte exactement de la même manière lorsque les cellules vides sont converties en 0.INDEX MATCH
utilisation d'une table. Cela améliore considérablement la lisibilité de la formule. J'essayais d'éviter,OFFSET
car il s'agit d'une fonction Excel volatile et peut entraîner un traitement supplémentaire.Que diriez-vous de quelque chose comme:
Je préfère cela pour que vous puissiez voir ce que vous faites, même dans des tables plus complexes, et si la structure de la table change, la formule fonctionnera toujours, tant que la colonne Cust Part est devant la colonne Demand.
la source