下面的Excel表格,A、B列記錄了車輛的維修費用。現在需要将D列車輛全稱對應的維修費用,用公式記錄在E列。在E2單元格寫公式下拉完成。
我們在E2單元格輸入公式:
=LOOKUP(1,0/COUNTIF(D2,"*"&$A$2:$A$11&"*"),$B$2:$B$11)
公式分析:
$B$2:$B$11:
得到B列的所有維修費用金額的數組:
{350;2005;3727;3631;4156;151;1064;3992;1555;4309}
COUNTIF(D2,"*"&$A$2:$A$11&"*"):
查找D2單元格,在A列的個數。第二參數前後加了*,是通配符用法,表示加上任意字符。
0/COUNTIF(D2,"*"&$A$2:$A$11&"*"):
任意數字除0就會變成錯誤值#Div/0。
根據lookup函數忽略錯誤值、用足夠大的數查找最後一個數字的原理,就可以準時查找到符合符件的值。
=LOOKUP(1,{#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!},{350;2005;3727;3631;4156;151;1064;3992;1555;4309})
公式中為什麼用1和0,其他數字可以嗎?當然可以,隻要第一個數字大于第二個數字。用1和0隻是看着簡便而已,比如修改為:
=LOOKUP(99,98/COUNTIF(D2,"*"&$A$2:$A$11&"*"),$B$2:$B$11)
Excel等軟件課程推薦
|
有話要說...