2012-10-10 42 views
0

我在Excel中使用LOOKUP()函數。但是,它拋出了一個#NA錯誤。如果要比較的數據非常小,excel是否會拋出NA錯誤?Excel中的LOOKUP函數拋出#NA錯誤

這裏是我檢查數據:其中扔#NA誤差= LOOKUP(0.006,F28:F34,G28:G34)

0.02 
0.03 
0.04 
0.05 
0.06 
0.006 
0.6 

我用以下命令。

如果我使用任何其他數據例如0.02或其他,它會給出正確的答案。

我做錯了什麼?

+1

INDEX/MATCH比VLOOKUP替代品更通用。 '= INDEX(G28:G34,MATCH(0.006,F28:F34,0))' – brettdj

回答

2

您的值出現故障(0.006小於所有值,因此應該在開頭)。嘗試訴諸你的數據,看看它是否工作,因爲LOOKUP()lookup_range參數要求數據按排序順序。

可能有一個原因,你沒有使用它,但你有沒有考慮使用VLOOKUP()

+1

即使你排序'LOOKUP'在這裏可能不是apprpriate,因爲它會給你一個近似的匹配。按升序查找範圍對上述數據進行排序,並且此公式= LOOKUP(0.038,F28:F34,G28:G34)將匹配0.038和0.3(匹配最大值<=查找值)並返回G29。如果所需結果是#N/A(因爲0.038不在查找範圍內),則應該按建議使用VLOOKUP或INDEX/MATCH(range_lookup/match_type設置爲FALSE/0以獲得完全匹配) –

+0

@barryhoudini是的,完全同意。我試圖考慮'LOOKUP'優於'INDEX/MATCH'或'V/HLOOKUP'且'range_lookup'設置爲'TRUE'的情況,但是沒有想到任何事情。絕對認爲'INDEX/MATCH'或'VLOOKUP'是要走的路。 – RocketDonkey

5

本文就How to use the LOOKUP function with unsorted data建議三種選擇:如圖brettdj =INDEX(G28:G34,MATCH(0.006,F28:F34,0))

  • Offset + Match像這樣

    1. Index + Match=OFFSET(F27,MATCH(0.006,F28:F33,0),1)
    2. HLookupVlookup。在你的情況下,這兩個,你會使用VLOOKUP()像這樣:=VLOOKUP(0.006,F28:G33,2,FALSE)

    另外,如果你想使用查找,請執行RocketDonkey指示,而且此KB首先確認(How to use Lookup function in Excel)排序的範圍內。

    另外,由於brettdj的評論,我做了一些研究。 HLookup and Vlookup are slightly faster than using Index + Match,但差別不大,你應該使用你喜歡的東西。

  • +0

    +1不需要排序的選項 – RocketDonkey

    +0

    +1用於在Unicode數據上進行查找工作。我有一個'Lookup'在** sorted **數組上不起作用的情況;但INDEX + MATCH解決了這個問題。 – Achilles