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

二、一維到二維

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

資料來源: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節影片課+每日答疑