若是不會LOOKUP函數的這個高級用法,就太可惜了!
若是不會LOOKUP函數的這個高級用法,就太可惜了!

要根據價格表查詢價格,查詢的時候,要涉及非常多的條件,始發地、目的地,重量區域,全部判斷完,還得跟最低價比較獲取兩者之間的最大值。
聽起來很難,實際更難,表格還是我做了一些修正后的。
價格表
查詢表
舉個例子,始發地義烏,目的地北京,重量1680.57,對應的價格是1.6。金額就是=1680.57*1.6,算出來的金額再跟最低價200比較獲取最大值,也就是=MAX(1680.57*1.6,200)。
多條件查找,首選LOOKUP函數,語法:
=LOOKUP(1,0/((條件1)*(條件2)),返回區域)
先來搞定最低價,這個簡單點。
=LOOKUP(1,0/((B2=價格表!$A$3:$A$24)*(FIND(C2,價格表!$B$3:$B$24))),價格表!$J$3:$J$24)
區間的單價就比較麻煩,需要判斷在哪個區間。
為了方便判斷在哪個區間,我在第一行將每個區間的下限寫出來。
有了下限后,可以借助MATCH函數的模糊查找判斷在哪列。
=MATCH(A2,價格表!$C$1:$I$1)
再借助OFFSET函數,引用這一列的區域。OFFSET函數引用區域的時候,公式不能直接寫在一個單元格中,那樣看不出效果。
OFFSET(價格表!$B$3:$B$24,0,MATCH(A2,價格表!$C$1:$I$1)
現在就可以查詢單價。
=LOOKUP(1,0/((B2=價格表!$A$3:$A$24)*(FIND(C2,價格表!$B$3:$B$24))),OFFSET(價格表!$B$3:$B$24,0,MATCH(A2,價格表!$C$1:$I$1)))
單價出來后,金額也跟著出來。
=A2*LOOKUP(1,0/((B2=價格表!$A$3:$A$24)*(FIND(C2,價格表!$B$3:$B$24))),OFFSET(價格表!$B$3:$B$24,0,MATCH(A2,價格表!$C$1:$I$1)))
最低價跟金額比較獲取最大值。
=MAX(E2,F2)
最后將所有公式合并起來,并嵌套ROUND函數就搞定了。
=ROUND(MAX(LOOKUP(1,0/((B2=價格表!$A$3:$A$24)*(FIND(C2,價格表!$B$3:$B$24))),OFFSET(價格表!$B$3:$B$24,0,MATCH(A2,價格表!$C$1:$I$1)))*A2,LOOKUP(1,0/((B2=價格表!$A$3:$A$24)*(FIND(C2,價格表!$B$3:$B$24))),價格表!$J$3:$J$24)),2)
涉及到的函數比較多,理解起來可能有點困難,嘗試著拆分開,然后再組合起來會更容易理解。
這個案例如果能學會,以后查找其他東西,簡直就是小意思。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。