二維到一維,一維到二維,這反轉沒有多人運動的反轉快

二、一維到二維


二維到一維,一維到二維,這反轉沒有多人運動的反轉快

數據源:B2:D51

反過來,從一維到二維,又有哪些方法呢?

方法1:SUMPRODUCT


二維到一維,一維到二維,這反轉沒有多人運動的反轉快


公式:SUMPRODUCT(($B$3:$B$51=$B59)*($C$3:$C$51=C$58)*$D$3:$D$51)

利用SUMPRODUCT進行條件判斷,判斷數據源日期和科目字段中每個單元格是不是要查詢的日期和科目,對滿足條件的數據進行先乘積再求和,最後就得到費用。

由於存在查詢不到數據的情況(比如2010年職工薪酬),用SUMPRODUCT計算的結果為0,因此可以用IF函數做一下處理,使結果為0的顯示為空。

方法2:VLOOKUP+IF{1,0}

公式:{VLOOKUP($B71&C$70,IF({1,0},$B$3:$B$51&$C$3:$C$51,$D$3:$D$51),2,)}


二維到一維,一維到二維,這反轉沒有多人運動的反轉快


利用IF{1,0}構造一個數據源,用日期&科目作為查找值進行查找,這是數組的用法,公式要加上大括號。

當查找不到結果的時候,此公式會顯示錯誤值,因此再嵌套IFERROR進行處理。

方法3:SUMIFS

公式:SUMIFS($D$3:$D$51,$B$3:$B$51,$B93,$C$3:$C$51,C$92)


二維到一維,一維到二維,這反轉沒有多人運動的反轉快


把匹配問題轉化成多條件求和問題(當然只能針對數值的情形,對文本不適用)。

方法4:自定義函數VLOOKUPS

公式:Vlookupifs(2,$D$3:$D$51,$B$3:$B$51,$B82,$C$3:$C$51,C$81)

本例中,相當於我們根據日期和科目兩個條件去做查詢,不管用SUMPRODUCT還是SUMIFS,都是把匹配問題轉化成了條件求和問題,因此只能對查詢結果是數值的情形適用。如果是文本則不合適。

因此,我用VBA編寫了一個自定義函數——VLOOKUPIFS,多條件匹配,可以根據多個條件來匹配目標(不管目標是數值還是文本都可適用)。


二維到一維,一維到二維,這反轉沒有多人運動的反轉快


當然,自定義函數必須添加到加載宏裡才可以在任何文件中使用。

關於自定義函數及用法,我會在表格學院《21天Excel函數公式營》中為大家詳細介紹。

函數營是在我原來的函數課《零基礎學透Excel函數,5分鐘搞定1天工作量》基礎上重新打造的,由原來的22節課增加到30節,並且提供每日答疑。

想系統學習Excel函數,提高辦公效率的朋友,歡迎報名。


二維到一維,一維到二維,這反轉沒有多人運動的反轉快

表格學院Excel函數公式訓練營

即將上線(5月6日首期正式開營)

分類突破+專題提升+加餐錄製常見棘手問題

21天,30節視頻課+每日答疑


二維到一維,一維到二維,這反轉沒有多人運動的反轉快


二維到一維,一維到二維,這反轉沒有多人運動的反轉快


二維到一維,一維到二維,這反轉沒有多人運動的反轉快

表格學院Excel函數公式訓練營

即將上線(5月6日首期正式開營)

分類突破+專題提升+加餐錄製常見棘手問題

21天,30節視頻課+每日答疑



分享到:


相關文章: