J'ai la feuille de calcul Excel suivante:
E4 =VLOOKUP(E2&"-"&E3,A1:C9,3,FALSE)
Comme vous pouvez le voir dans la Colonne A , j'ai la liste des produits et dans la Colonne B strong > les marques correspondantes et dans la Colonne C les revenus.
Je souhaite maintenant utiliser RECHERCHEV
pour rechercher les revenus en fonction d'un produit ( Cellule E2
) et une marque ( Cellule E3
). Par conséquent, j'ai essayé d'utiliser cette formule:
A B C D E 1 Products Brands Revenue Search Criterias 2 Product A Brand1 500 Criteria 1: Product C 3 Product B Brand3 800 Criteria 2: Brand 3 4 Product B Brand2 900 Revenue: 300 5 Product C Brand1 200 6 Product C Brand3 300 7 Product C Brand4 750 8 Product D Brand1 450 9 Product C Brand4 150 10
Cependant, cette formule me donne #NV
.
Que faire J'ai besoin de modifier ma formule pour qu'elle fonctionne?
Remarque:
Je sais que je pourrais résoudre ce problème en ajoutant une colonne d'assistance
dans laquelle je combine les données de la colonne A et de la colonne B , puis je laisse le RECHERCHEV exécuté sur cette colonne d'assistance
. Cependant, je recherche une solution sans cette colonne d'aide
.
3 Réponses :
Je recommande fortement d'utiliser SUMIFS
au lieu de VLOOKUP
car cela garantirait que si vous avez plusieurs valeurs identiques, il les additionnera:
{=INDEX(C:C,MATCH(E2&E3,A:A&B:B,0))}
Vote positif pour l'utilisation de SUMIFS
, mais la deuxième option n'est pas bonne à mon humble avis. L'utilisation de la concaténation des valeurs sur elle-même est très sujette aux erreurs, et l'utilisation de plages de colonnes entières est extrêmement lente. Vous voudrez peut-être envisager de rayer cela.
Tout d'abord, veuillez noter que votre tableau de recherche n'a pas d'espace alors que votre valeur de recherche en a! Cela ne renverra jamais de correspondance, alors résolvez d'abord ce problème.
De plus, je recommande vivement de ne pas concaténer les valeurs dans une recherche multicritères, jamais ! C'est très sujet aux erreurs. Utilisez plutôt la logique booléenne pour créer un tableau de 1 et de 0 afin d'utiliser la puissante combinaison de INDEX
et MATCH
. Essayez de prendre l'habitude d'utiliser cette combinaison sur RECHERCHEV
si vous êtes un utilisateur régulier d'Excel et de ses fonctions de feuille de calcul.
Voici une petite introduction à cette combinaison de fonctions. Et comme mentionné dans cet article aussi, INDEX
sera utile beaucoup plus souvent, comme vous le remarquerez dans l'exemple ci-dessous lorsque nous créerons notre tableau de retour. Cela évitera de devoir entrer comme formule matricielle via CtrlShift Entrée =)
Formule dans E4
:
=INDEX(C2:C9,MATCH(1,INDEX((A2:A9=E2)*(B2:B9=E3),),0))
Lorsque vous effectivement obtenu des valeurs numériques sous Revenus
, vous pouvez simplement utiliser SUMIFS
, comme le suggère l'autre réponse.
La formule la plus courte et la plus rapide pour 2 critères de recherche utilise DGET ()
La mise en page du tableau comme ci-dessous:
=DGET(A1:C9,F2,D2:E3)
Formule en F3:
A B C D E F 1 Products Brands Revenue Search Criterias 2 Product A Brand1 500 Products Brands Revenue 3 Product B Brand3 800 Product C Brand3 4 Product B Brand2 900 5 Product C Brand1 200 6 Product C Brand3 300 7 Product C Brand4 750 8 Product D Brand1 450 9 Product C Brand4 150
et, renverra le résultat souhaité: 300
J'ai trouvé votre formule: = VLOOKUP (E2 & "-" & E3, CHOOSE ({1,2}, A2: A25 & "-" & B2: B25, C2: C25), 2, FALSE) sur le site Web ici smartsheet.com/advanced-vlookup-multiple-criteria mais j'obtiens toujours #NV comme résultat .
Avez-vous essayé = RECHERCHEV (E2 & E3, CHOISIR ({1 \ 2} $ A $ 1: $ A $ 9 & $ B $ 1: $ B $ 9, $ C $ 1: $ C $ 9), 2, FALSE)? et c'est une fonction matricielle donc au lieu d'introduire par enter, utilisez, CTRL + SHIFT + ENTER
Quoi qu'il en soit, la prochaine fois, une petite recherche sur SO sera aide vous ...
N'utilisez pas la concaténation de plusieurs colonnes dans une recherche @ DavidGarcíaBodego. C'est très sujet aux erreurs