excel

关注公众号 jb51net

关闭
软件教程 > 办公软件 > excel >

你需要哪个? 12个excel函数公式教您学会按条件求多列数据之和

脚本之家

Excel表格中数据求和,可以说最常的数据计算操作。我们都知道普通求和用快捷键最方便,也有SUM函数,按条件求和用SUMIF函数,多条件求和用SUMIFS函数。那么你知道按条件多列求和怎么操作呢?今天小编分享几个函数公式来解决,各具特色,看看你的工作中需要哪一种?

实例:下图表格中,要求计算各产品的前三个月销量合计数;

分析:求和的条件产品在B列,求和的数据区域在C、D、E三列。

第一种:

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

这个公式不难理解,就是三个SUMIF函数分别对C、D、E三列求和后再相加,得出计算结果。

第二种:

=SUM(IF(B$2:B$13=G2,C$2:E$13))

注意:这是一个数组函数,公式输入完成后要按Ctrl+Shift+回车键确认公式,再双击或下拉填充公式。

公式利用IF函数判断满足条件的数据,再用SUM函数实现求和。

第三种:

=SUM((B$2:B$13=G2)*C$2:E$13)

这也是一个数组公式,需要按Ctrl+Shift+回车键确认公式,再双击或下拉填充公式。

这个公式与上一个比较省了IF函数判断,利用B$2:B$13=G2产生的逻辑值(0和1)与数据区域相乘。

第四种:

=SUMPRODUCT((B$2:B$13=G2)*C$2:E$13)

这个公式原理和上一个一样,区别在于回车键确认公式即可,省去三键确认的麻烦。

以上公式比较简单,也能满足日常工作需求。

接下来讲的公式相对有些难度,如果喜欢函数公式的可以继续看下去。

第五种:

=SUMPRODUCT((B$2:B$13=G2)*MMULT(C$2:E$13,{1;1;1}))

第六种:

=SUM(MMULT((B$2:B$13=G2)*C$2:E$13,{1;1;1}))

这两个公式比较相似,弄懂的话需要先看看MMULT函数的用法。

MMULT函数

【用途】计算两个数组的矩阵乘数

【语法】MMULT(数组1,数组2)

第七种:

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

这个公式利用OFFSET函数对求和数据区域偏移,构造多区域数据,分别得到三列的求和。

第八种:

=SUM(SUMIF(B:B,G2,INDIRECT("C"&{3,4,5},)))

与上一公式相似,用INDIRECT函数构造多区域数据。

第九种:

=SUM(SUMIF(B:B,G2,INDIRECT({"C","D","E"}&1)))

和上一公式相同,INDIRECT函数换了一种单元格引用方式。

第十种:

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

公式中DSUM函数为数据库类的求和函数,计算数据库中指定条件的记录之和。

第十一种:

=SUMPRODUCT(COUNTIF(G2,B$2:B$13)*C$2:E$13)

公式中利用COUNTIF函数来判断,类似02公式中的IF函数判断。

第十二种:

=MMULT(MMULT(N(G2:G6=TRANSPOSE(B2:B13)),C2:E13),{1;1;1})

数组公式,并且需要先选中结果区域H2:H6,输入公式后按Ctrl+Shift+回车键确认公式,得出计算结果,不必再双击或下拉填充公式。较难理解,关注我后面的教程陆续推出详细教程。

推荐阅读:12组职场必学的Excel函数公式:直接套用就行了