華文網

解決了糾結我3天的Vlookup問題

大家好,今天和大家分享“解決了糾結我3天的Vlookup問題“,下面是這位元朋友和我的對話

張三:老鼠老師,你好,Vlookup這個問題糾結3天了,實在沒法只能找你了

我:你說,什麼問題?

張三:根據單價工作表裡的單價匯總,

匯總表A列裡工序匯總每一天的金額,匯總表裡的B列,C列,D列是當天的數量,關鍵單價工作表和匯總工作表裡工序不一致,我用Vlookup引用過來,結果和我手工算出來相差很大

我:把你的公式發出來我看看.|更多Excel學習和問題請加群:289393114、570064677

張三:這是我自己寫的公式=SUM(VLOOKUP($A$2:$A$9,單價表!$A$2:$B$9,2,)*B2:B9),

麻煩你了

我:你用這個公式試試=SUM(SUMIF(單價表!$A$2:$A$9,匯總表!$A$2:$A$9,單價表!$B$2:$B$9)*B2:B9)

張三:好的

張三:老師,你的公式答案是正確的,

你是用sumif引用單價表裡的單價,且第2參數條件用了陣列用法,這一招很巧妙。

張三:老師,我想知道我這個Vlookup函數為什麼引用就不對?

我:是因為你的Vlookup函數第1參數用陣列的用法,Vlookup第1參數用陣列,不能直接這樣用,這樣是得不到正確的結果

張三:請老師指點一下

我:Vlookup函數如果第1參數用陣列的用法,如果是文本,這裡就要用T(if{1},區域)處理一下;如果是數字就要用N(if{1},區域),最後的公式=SUM(VLOOKUP(T(IF({1},$A$2:$A$9)),單價表!$A$2:$B$9,2,)*B2:B9)

張三:好的,老師,我自己試下

張三:真的可以,T(IF({1},$A$2:$A$9))這個這麼神,佩服老師

我:這個不是我創建的用法,一些Excel前輩早就知道此用法,我只不過比你先學習到而已,不足為奇。其實我理解這裡T+if({1},區域)也是降維的作用,而我給你的第1個公式=SUM(SUMIF(單價表!$A$2:$A$9,匯總表!$A$2:$A$9,單價表!$B$2:$B$9)*B2:B9)相比Vlokup更容易理解,

且Sumif函數本身也有降維的作用,常用來跨工作表求和