二維碼 購(gòu)物車
部落窩在線教育歡迎您!

按條件求多列數(shù)據(jù)之和的多種方法

?

作者:老菜鳥來(lái)源:部落窩教育發(fā)布時(shí)間:2020-09-12 22:53:39點(diǎn)擊:6780

分享到:
0
收藏    收藏人氣:0人
版權(quán)說(shuō)明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

按條件求和,工作中很常見。如果是根據(jù)條件求單列數(shù)據(jù)之和,SUMIF函數(shù)即可解決,但如果是求多列數(shù)據(jù)呢?我們這里分享12種方法,各有各的特色。

 

先來(lái)看一下什么是按條件求多列數(shù)據(jù)之和。

類似下圖這樣的數(shù)據(jù),需要根據(jù)G列的產(chǎn)品名稱在H列匯總數(shù)據(jù)。條件區(qū)域在B列,而要求和的數(shù)據(jù)在CD、E三列中。這種求和就是按條件求多列數(shù)據(jù)之和,簡(jiǎn)稱多列條件求和。

這類條件求和,在實(shí)際工作中經(jīng)常會(huì)遇到,但直接用一個(gè)SUMIF函數(shù)或者透視表是無(wú)法完成的。

今天給大家分享解決這個(gè)問題的12個(gè)套路公式(有沒有被驚到?),當(dāng)然你能掌握其中的兩三種就夠用了(請(qǐng)?jiān)试S我像孔乙己那樣炫耀一回)。

公式1=SUMIF(B:B,G2,C:C)+SUMIF(B:B,G2,D:D)+SUMIF(B:B,G2,E:E)

剛才說(shuō)過(guò)無(wú)法直接用一個(gè)sumif函數(shù)求和,因?yàn)?span>sumif要求條件區(qū)域和求和區(qū)域大小相同,而本例顯然不滿足這個(gè)要求。

用三個(gè)sumif分別求和后再相加,這不難理解,但是如果要求和的列更多的話,還是有點(diǎn)麻煩。

公式2=SUM(IF(B$2:B$16=G2,C$2:E$16))

這是一個(gè)數(shù)組公式,需要按住Ctrl、shift和回車鍵完成輸入。

數(shù)組有自擴(kuò)展性,利用這個(gè)特性就可以將一列條件與三列數(shù)據(jù)進(jìn)行判斷。滿足條件的時(shí)候?yàn)閷?duì)應(yīng)數(shù)字,不滿足條件時(shí)得到FALSE,這是if函數(shù)省略第三參數(shù)以及第三參數(shù)前逗號(hào)的用法。

在這個(gè)公式中,用if做條件判斷得到需要求和的數(shù)字,再用sum實(shí)現(xiàn)最終的求和結(jié)果。

公式3=SUM((B$2:B$16=G2)*C$2:E$16)

這個(gè)公式是比較常用的一種套路,與公式2的區(qū)別在于少了用if函數(shù)進(jìn)行判斷,它直接利用了邏輯值參與計(jì)算。公式同樣需要三鍵輸入。

如果不習(xí)慣三鍵的話,SUM數(shù)組公式可以用SUMPRODUCT函數(shù)取代。關(guān)于SUMPRODUCT函數(shù)的用法可以查看《加了*的 SUMPRODUCT函數(shù)無(wú)所不能》。

公式為:=SUMPRODUCT((B$2:B$16=G2)*C$2:E$16),兩個(gè)公式原理完全一致,可以視為同樣的公式。

公式4=SUMPRODUCT((B$2:B$16=G2)*(C$2:C$16+D$2:D$16+E$2:E$16))

這可以視為公式3的另一種思路,當(dāng)求和區(qū)域是連續(xù)的多列時(shí),兩個(gè)公式都可以用;如果要求和的多列是不連續(xù)的,例如只求第1周和第3周的和,則只適合用公式4

以上四個(gè)公式都屬于比較基礎(chǔ)、常用的套路。

下面要分享的公式,會(huì)涉及一些稍有難度或者難以理解的函數(shù)。如果你有一定的基礎(chǔ),可以結(jié)合公式自己去研究一下;如果感到難以理解的話,也可以先收起來(lái),作為日后學(xué)習(xí)的一個(gè)方向。

公式5=SUMPRODUCT((B$2:B$16=G2)*MMULT(C$2:E$16,{1;1;1}))

SUMPRODUCTMMULT函數(shù)聯(lián)手,感到蒙圈了沒有?

公式6=SUM(MMULT((B$2:B$16=G2)*C$2:E$16,{1;1;1}))

注意哦,這個(gè)公式可不是簡(jiǎn)單的把SUMPRODUCT換成SUM了。

要看懂這兩個(gè)公式,必須對(duì)MMULT函數(shù)有所了解。如果對(duì)這個(gè)函數(shù)還比較陌生的話,咱們換一個(gè)大家稍微熟悉點(diǎn)的OFFSET函數(shù)也可以。對(duì)OFFSET不熟悉的可以查看《Excel進(jìn)階之路必學(xué)函數(shù):動(dòng)態(tài)統(tǒng)計(jì)之王——OFFSET(上篇)》。

公式7=SUM(SUMIF(B:B,G2,OFFSET(B:B,,{1,2,3})))

這個(gè)公式其實(shí)是對(duì)公式1的優(yōu)化,利用OFFSET得到了三個(gè)一列的求和區(qū)域,相當(dāng)于用一個(gè)SUMIFOFFSET實(shí)現(xiàn)了三個(gè)SUMIF的工作。公式的優(yōu)勢(shì)在于當(dāng)求和列增加的時(shí)候,只需要在OFFSET里增加偏移數(shù)即可。

通常能用OFFSET構(gòu)造的多區(qū)域數(shù)據(jù),INDIRECT也可以搞。

公式8=SUM(SUMIF(B:B,G2,INDIRECT("c"&{3,4,5},)))

INDIRECT函數(shù)比較牛的地方是有兩種引用方式,也就是RC模式和A1模式,函數(shù)的第二參數(shù)就是確定使用何種引用方式的。

公式9=SUM(SUMIF(B:B,G2,INDIRECT({"c","d","e"}&1)))

注意仔細(xì)區(qū)分這兩個(gè)公式中INDIRECT里的區(qū)別。

實(shí)際上,7、8、9這三個(gè)公式的思路差不多,都是用函數(shù)構(gòu)造多個(gè)單列區(qū)域,為SUMIF服務(wù),區(qū)別只是OFFSETINDIRECT,以及INDIRECT的兩種引用形式。

公式10=SUM(DSUM(A$1:E$16,{3,4,5},G$1:G2))-SUM(H$1:H1)

這個(gè)公式的關(guān)鍵是DSUM函數(shù)。DSUM是一個(gè)數(shù)據(jù)庫(kù)類的求和函數(shù),可以實(shí)現(xiàn)條件求和,有興趣的朋友可以自己了解一下這個(gè)函數(shù),看看教程《DSUM,最簡(jiǎn)單的條件求和函數(shù)!你知道不?》。

公式11=SUMPRODUCT(COUNTIF(G2,B$2:B$16)*C$2:E$16)

SUMPRODUCTCOUNTIF都是比較常用的函數(shù)。這個(gè)公式中,COUNTIF充當(dāng)了條件判斷的角色,你能看明白其中的門道嗎?

公式12=MMULT(MMULT(N(G2:G6=TRANSPOSE(B2:B16)),C2:E16),{1;1;1})

最后這個(gè)公式無(wú)疑是很有分量的,不然不足以壓軸。

特別要說(shuō)明的一點(diǎn)是這個(gè)公式要選定公式區(qū)域,然后按照數(shù)組公式的輸入方式完成,而不是先有數(shù)組公式再下拉的那種用法。

 

12個(gè)公式有很簡(jiǎn)單的,也有比較難的,有你能看懂能使用的,也有你暫時(shí)還無(wú)法理解的。但不管怎樣,相信你都能通過(guò)今天的內(nèi)容有一些新的收獲。

本文配套的練習(xí)課件請(qǐng)加入QQ群:264539405下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

DSUM,最簡(jiǎn)單的條件求和函數(shù)!你知道不?

無(wú)往而不利的SUMIF面對(duì)這種條件求和竟然傻眼了!

加了*的 SUMPRODUCT函數(shù)無(wú)所不能

Excel進(jìn)階之路必學(xué)函數(shù):動(dòng)態(tài)統(tǒng)計(jì)之王——OFFSET(上篇)

Excel進(jìn)階之路必學(xué)函數(shù):動(dòng)態(tài)統(tǒng)計(jì)之王——OFFSET篇)