2016-08-02 74 views
0

我的vlookup出現問題。VLOOKUP即使在第一個結果下面的行中有一個值,也會返回0

我有在以下格式的數據:(見截圖)

VLOOKUP PROBLEM IM HAVING

我跑我VLOOKUP公式= VLOOKUP(C6:C11,NAMED_RANGE,2,FALSE)

「named_range」就是我用來命名的範圍,因此一切都是絕對的參考。命名範圍是右側的全部選擇

我知道vlookup返回它找到的第一個結果的值,這就是爲什麼「0」返回Steve,Ben和Jane的原因。

但是我想弄清楚如何我可以把它做到以下幾點:

如果VLOOKUP查找具有與之相關聯的空白單元格相匹配的值,向下看列表,直到找到匹配值在它旁邊的單元格中有很多東西。

這裏是預期的結果,我想(這是由手動的過程):

Expected Result

我已經做了一噸的研究,但不能找到一種方法來解決這個問題?我傾向於MATCH和INDEX的方向,但似乎沒有什麼符合我的要求。

在此先感謝希望我解釋好。

回答

1

我能想到的最簡單的方法是添加一個測試,看看如果細胞空白:

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

這是一個數組公式,因此它需要使用Ctrl鍵來輸入+ Shift + Enter鍵。

+0

嘿,你知道它的工作是什麼!謝謝,你有什麼建議,我可以學習如何創建一個數組公式,可以處理那些存在這個問題的數據。我會開始做我自己的研究,但..再次感謝 – Kevin

0

這是VLOOKUP的一個'怪癖'。它會拉出它找到的第一場比賽。在這種情況下,第一個「史蒂夫」有一個空值,因此它是0.第一個簡也是空白的,所以它再次返回0等。有一些方法可以解決這個問題。您可以簡單地對引用的表進行排序,以便第一次匹配的值爲具有值的值,或者可以從單元格J6開始編寫不同的公式。

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

後改變你的VLOOKUP以下

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

您還可以更新您的命名範圍內引用,以便您可以使用它,但這些列將正常工作的這個公式。這樣做VLOOKUP只會在L6中有值時拉動,等等。

讓我知道這是否適合你。

1

另一種方式來解決這個問題是這樣的:

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

這也是數組公式(所以你需要使用Ctrl + Shift + Enter鍵)。

星號是數組公式的AND運算符(OR運算符是+)。它的作用則是使MATCH式正在尋找的第一行,其中兩個條件都爲真,即1:在列K = C6(鮑勃)

  1. 細胞

AND

  • 細胞在列L> 0
  • 你可以在這裏找到一個非常全面的解釋:Index-Match-Combination

    相關問題