建議下lookup的查詢機制,瞭解下lookup是如何實現查詢的。lookup有兩種方式:向量方式和陣列方式,你的公式屬於用到lookup的向量方式,Excel的幫助檔案是這樣說的:向量形式LOOKUP 的向量形式在單行區域或單列區域(稱為“向量”)中查詢值,然後返回第二個單行區域或單列區域中相同位置的值。語法LOOKUP(lookup_value, lookup_vector, [result_vector])LOOKUP 函式向量形式語法具有以下引數:
建議下lookup的查詢機制,瞭解下lookup是如何實現查詢的。lookup有兩種方式:向量方式和陣列方式,你的公式屬於用到lookup的向量方式,Excel的幫助檔案是這樣說的:向量形式LOOKUP 的向量形式在單行區域或單列區域(稱為“向量”)中查詢值,然後返回第二個單行區域或單列區域中相同位置的值。語法LOOKUP(lookup_value, lookup_vector, [result_vector])LOOKUP 函式向量形式語法具有以下引數:
lookup_value 必需。 LOOKUP 在第一個向量中搜索的值。 Lookup_value 可以是數字、文字、邏輯值、名稱或對值的引用。lookup_vector 必需。 只包含一行或一列的區域。 lookup_vector 中的值可以是文字、數字或邏輯值。重要: lookup_vector 中的值必須按升序排列:..., -2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE;否則,LOOKUP 可能無法返回正確的值。 文字不區分大小寫。result_vector 可選。只包含一行或一列的區域。result_vector 引數必須與 lookup_vector 引數大小相同。其大小必須相同。請注意幫助檔案提示的“重要”,對照你的公式,lookup_vector 就是你的B列,必須升序,而實際資料卻是降序的。這就是公式出錯的原因。解決辦法,可以用Vlookup的反列方式,用IF({1,0},B$3:B$408,A$3:A$408)把AB列資料兌換後來查詢,即:=VLOOKUP(C3,IF({1,0},B$3:B$408,A$3:A$408),2)更易理解的是用INDEX+MATCH:=INDEX(A$3:A$408,MATCH(C3,B$3:B$408,-1))PS:沒有看到工作表,B列資料降序的推斷是按截圖資料來判斷的,如果不是,那公式就要修改了。