2016-08-02 14 views
0

Ich habe ein Problem mit meinem vlookup.SVERWEIS Gibt 0 zurück, obwohl in der Zeile unter dem ersten Ergebnis ein Wert ist

Ich habe Daten, die in folgendem Format ist: (siehe Screenshot)

VLOOKUP PROBLEM IM HAVING

Ich ließ meine SVERWEIS Formel = VLOOKUP (C6: C11, named_range, 2, FALSCH)

"named_range" ist das, was ich für meinen benannten Bereich verwendet habe, so dass alles eine absolute Referenz war. Der benannte Bereich ist die gesamte Auswahl auf der rechten Seite

Ich weiß, dass vlookup den Wert des ersten gefundenen Ergebnisses zurückgibt, weshalb "0" für Steve, Ben und Jane zurückgegeben wird.

aber ich herauszufinden versuche, wie kann ich es folgende auszukommen:

Wenn der vlookup einen passenden Wert findet, der eine leere Zelle zugeordnet ist, wird die Liste nach unten schauen, bis Sie die passenden Wert finden das hat etwas in der Zelle daneben. Hier

ist das erwartete Ergebnis, dass Ich mag würde (dies manuell natürlich hergestellt wird):

Expected Result

Ich habe eine Tonne der Forschung getan, aber kann nicht einen Weg zur Lösung dieses Problems finden ... Ich habe mich in Richtung MATCH und INDEX gelehnt, aber nichts schien meinen Anforderungen zu entsprechen.

Vielen Dank im Voraus hoffe, ich erklärte ok.

Antwort

1

Die einfachste Art, wie ich denken kann, dies zu tun ist, um einen Test zu addieren, um zu sehen, wenn die Zellen leer sind:

=VLOOKUP(C6,IF(ISBLANK($L$6:$L$18),0,$K$6:$L$18),2,FALSE) 

Dies ist eine Matrixformel, so dass es muß eingegeben werden mit Strg + Umschalt + Eingabetaste

+0

Hey, was weißt du, es hat funktioniert! Danke, haben Sie einen Rat, wo ich lernen könnte, eine Array-Formel zu erstellen, die an Daten arbeitet, in denen ich dieses Problem habe. Ich fange jedoch an, meine eigenen Recherchen zu machen. Danke nochmal – Kevin

0

Dies ist eine der "Macken" mit dem SVERWEIS. Es wird das erste gefundene Match ziehen. In diesem Fall hat der allererste "Steve" einen leeren Wert, also ist es 0. Die erste Jane ist auch leer, also gibt es wieder 0 usw. Es gibt ein paar Wege um dies zu umgehen. Sie können die Tabelle, auf die verwiesen wird, einfach sortieren, damit die ersten Übereinstimmungen solche mit Werten sind, oder Sie können eine andere Formel schreiben, die mit der Zelle J6 beginnt.

=IF(L6<>"",K6,"") 

danach ändern Sie Ihre VLOOKUP an folgende

=VLOOKUP(C6,J:L,3,0) 

können Sie auch Ihren Namen Bereich Referenz aktualisieren, so dass Sie es verwenden können, aber diese Spalten werden für diese Formel funktionieren. Auf diese Weise wird der SVERWEIS nur dann ziehen, wenn ein Wert in L6 ist und so weiter.

Lassen Sie mich wissen, ob dies für Sie funktioniert.

1

Eine andere Möglichkeit, das Problem zu lösen, ist dies:

{=INDEX(K6:L17,MATCH(1,(K6:K17=C6)*(L6:L17>0),0),2)} 

Dies ist auch eine Matrixformel (so werden Sie Strg müssen + Shift + Enter).

Der Stern ist der AND-Operator für Array-Formeln (der OR-Operator wäre das +). Was sie tut, ist dann, dass die MATCH Formel für die erste Zeile suchen, wo beide Bedingungen erfüllt sind, dh 1:

  1. Zelle in Spalte K = C6 (Bob)

UND

  1. Zelle in Spalte L> 0

Sie eine sehr ausführliche Erklärung finden Sie hier: Index-Match-Combination.

Verwandte Themen