VLOOKUP 沒有對所有儲存格進行內插?

VLOOKUP 沒有對所有儲存格進行內插?

我的 VLOOKUP 公式未對所有儲存格進行內插

    AD           AE   AF
11-6-2014 15:20 90,4 #N/A
11-6-2014 15:21 89,1 #N/A
11-6-2014 15:22 90,4 Good
11-6-2014 15:23 89,1 Good

AF 欄位是我的公式:(荷蘭語)=AE4-(VERT.ZOEKEN(AD4;$AL$3:$AM$39714;2;WAAR)-1000)(嘗試用英文翻譯)=AE4-(VLOOKUP(AD4; $ AL$3:$AM$39714;2;真)-1000)

這是矩陣列的一部分:

        AL        AM
11-6-2014 15:22 1026,9
11-6-2014 15:23 1027,3
11-6-2014 15:24 1027,2
11-6-2014 15:25 1026,9

找到我在 11-6-2014 15:22 的資料(1026.9)。但我也希望在 2014 年 6 月 11 日 15:20 和 2014 年 6 月 11 日 15:21 內插該值。據我所知,它應該只查找最接近的日期並輸出矩陣中的值,但事實並非如此。

有任何想法嗎?

答案1

這就是當參數設定為 時VLOOKUP設計的工作方式。它將傳回小於或等於查找值的最接近值。如果沒有值滿足該條件,則傳回錯誤。Range LookupTRUE

有幾個選項供您選擇:

  1. 為低於下限的值設定一個例外,然後讓VLOOKUP處理其餘的。為此,只需將您的函數包裝在一個IFERROR函數中即可。

    =IFERROR(AE4-(VLOOKUP(AD4;$AL$3:$AM$39714;2;True)-1000);AE4-$AM$3)
    

    這只是將所有產生錯誤的查找預設為 column 中的第一個值AM

  2. 相反,如果您想返回最近日期的數據,而不僅僅是小於或等於查找值的最近日期,則可以使用VLOOKUP.下面的陣列公式將傳回AM最近日期的值。日期之間的中點映射到較晚的日期。

    =AE4-INDEX($AM$3:$AM$39714,MAX(IF(ABS($AL$3:$AL$39714-AD4)=MIN(ABS($AL$3:$AL$39714-AD4)),ROW($AL$3:$AL$39714)-2,-1)))
    

    這是一個數組公式,因此必須透過按Ctrl+ Shift+輸入才能Enter正常工作。如果正確完成,它將出現在用大括號括起來的公式欄中。

    像你這樣的長數組(n= 39,712),陣列公式的計算速度可能很慢,並且可能會拖慢您的電子表格。因此,在決定使用哪種方法時請考慮這一點。

相關內容