返回列表 上一主題 發帖

[發問] excel VBA 函數-垂直搜尋相對應列的值

回復 9# junkwei
程式碼是依 5# 的圖示模擬的,你修改成功.那VBA可很快上手的.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 10# junkwei
(B$1:B$16=H2)
B1~B16每個元素都和H2比,相同為True、不同為FALSE
假如只有B2及B3和H2相同,就等於為回傳 :  
False,True,True,False,False... 這樣的陣列

(C$1:C$16=I2)也是如此,假設例如回傳:
False,False,True,False,False...

(B$1:B$16=H2)*(C$1:C$16=I2)
相當於上述回傳的陣列個元素相乘,相乘時True會自動轉換為1、False為0
所以也是你說的"且"的動作,以上面舉的例子就是回傳:
0,0,1,0,0...

而用1除以(B$1:B$16=H2)*(C$1:C$16=I2),以上面舉的例子就是回傳:
#DIV/0!,#DIV/0!,1,#DIV/0!,#DIV/0!...
#DIV/0!為除零造成的錯誤

LOOKUP就自己查看說明了
如果 LOOKUP 函數無法找到 lookup_value,便會採用在 lookup_vector 中等於或僅次於 lookup_value 的最大值。

總之是要比對的欄放分母,多欄(2欄、3欄...都可以)都要符合就用*,取回結果的欄就放第三參數。
公式到EXCEL一般區應該比較多討論。
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

非常謝謝stillfish00前輩超級詳細的解釋~這樣小弟就完全了解~~!

也謝謝GBKEE版主的鼓勵, 小弟會繼續加油的~~!!

TOP

        靜思自在 : 為自己找藉口的人永遠不會進步。
返回列表 上一主題