SUMPRODUCT函数详解(3)
发布时间:2022-02-25 00:31:02
SUMPRODUCT函数的语法格式
到目前为止我们所给出的示例中,SUMPRODUCT函数的格式是:
=SUMPRODUCT((数组1=条件1)*(数组2=条件2)*(数组3))
正如上文所提到的,我们也可以使用:
=SUMPRODUCT((数组1=条件1)*(数组2=条件2),(数组3))
运算符“*”仅需要将条件数组TRUE/FALSE强制转换为数值。
当使用算术运算符强制将TRUE/FALSE值转换为1/0时,我们可以使用一些不同的运算符获得相同的结果。通过给每个条件数组分别乘以1也可以进行这样的强制转换:
=SUMPRODUCT((数组1=条件1)*1,(数组2=条件2)*1,(数组3))
或者:
=SUMPRODUCT(1*(数组1=条件1),1*(数组2=条件2),(数组3))
或者为每个条件数组进行1次方:
=SUMPRODUCT((数组1=条件1)^1,(数组2=条件2)^1,(数组3))
或者每个条件数组加0:
=SUMPRODUCT((数组1=条件1)+0,(数组2=条件2)+0,(数组3))
或者:
=SUMPRODUCT(0+(数组1=条件1),0+(数组2=条件2),(数组3))
或者通过使用N函数:
=SUMPRODUCT(N(数组1=条件1),N(数组2=条件2),(数组3))
这些方法不同于“*“运算符是它们应用于单个的数组,而“*”运算于两个数组。
上面介绍的方法取决于您的偏好,当然,只有单个条件数组时,不能使用“*”运算符。
还有一种方法是,使用双目操作符:
=SUMPRODUCT(–(数组1=条件1),–(数组2=条件2),(数组3))
对于笔者来说,偏好于使用双目–操作符,因为这样避免了函数调用,并且在所有情形下都工作。
此外,还有另一种变异的方法,使用单目操作符“-”,例如:
=SUMPRODUCT(-(数组1=条件1),-(数组2=条件2),(数组3))
但笔者不提倡使用这种方法,因为它没有实际的优点,并且必须两两配合,否则会返回一个负值。
小结
在单元格中输入“=A1=10”进行测试,通常会返回TRUE或FALSE。如果想将TRUE/FALSE值强制转换为1/0,使用诸如下面的公式:
=SUMPRODUCT(–(B5:B1953=101))
SUMPRODUCT数组通常由逗号分隔。因此,为了保持这种格式,如果有多个条件,则可以在条件中使用–,例如:
=SUMPRODUCT(–(B5:B1953=101),–(C5:C1953=7))
但是,如果简单地将两个含TRUE/FALSE值的数组相乘,则隐式地将值解析为1/0,然后求和,不需要逗号,例如:
=SUMPRODUCT((B5:B1953=101)*(C5:C1953=7))
更进一步,数值数组可以使用相同的运算符,或者恢复为逗号。因此,公式可以写为:
=SUMPRODUCT(–(B5:B1953=101),–(C5:C1953=7),(D5:D1953))
或者:
=SUMPRODUCT((B5:B1953=101)*(C5:C1953=7),(D5:D1953))
或者:
=SUMPRODUCT(–(B5:B1953=101),–(C5:C1953=7),–(D5:D1953))
或者:
=SUMPRODUCT((B5:B1953=101)*(C5:C1953=7)*(D5:D1953))
或者:
=SUMPRODUCT(–(B5:B1953=101),–(C5:C1953=7)*(D5:D1953))
如果结果是将两个条件相乘的乘积,那么最好将两个条件数组相乘,这将TRUE/FALSE强制转换为1/0并求和:
=SUMPRODUCT((条件1)*(条件2))
与上面的公式等价的是:
=SUMPRODUCT(–(条件1),–(条件2))
然而,如果仅有一个条件,则使用双目运算符–强制转换为1/0:
=SUMPRODUCT(–(条件1))
与上面的公式等价的是:
=SUMPRODUCT((1*(条件1)))
在SUMPRODUCT函数中,使用–的情形都能使用”*”,反之,如果在SUMPRODUCT函数中使用TRANSPOSE函数,那么必须使用“*”。


猜你喜欢
- 时间表可以帮助我们有条不紊地计划时间和过程。你通常使用时间表吗?你是自己做的,还是在网上下载的?我们以前也和你分享过日历模板的下载。今天,小
- 你的 Apple Watch 是否会无故缺少联系人?我们来看看如何通过几个简单的步骤修复 Apple Watch 上缺少的联系人。如果联系人
- 最近小编在微信中使用"微软 Office 文档"小程序的时候发现这款小程序更新了,打开微软Office文档小程序点击顶部
- 很多情况下,我们需要把表格数据转换成图表数据,这样看上去对比效果更好更直观。那么大家知道如何制作柱状图呢?接下来请跟着小编了解吧。wps表格
- NAND闪存这一年来面临着涨价的压力,不过玩家要想最大化提升PC性能,SSD硬盘还真少不了。如今SATA 6Gbps接口的2.5寸SSD是中
- Mac系统辅助键盘怎么开启?Mac系统中有辅助键盘,就是当没有外设键盘的时候,可以使用辅助键盘操作,下面我们就来看看辅助功能键盘设置方法,需
- Win10睡眠模式怎么保持不断网?我们平时在使用电脑的间隙会让电脑进入休眠模式来减少电脑负担,减少电脑耗电。但是电脑进入休眠模式之后之前下载
- hosts文件是Windows系统中的一个功能性文件,它可以在很多的地方帮助到用户们,今天小编为大家带来的就是hosts文件保存方法!感兴趣
- 在PC机中,许多用户都很很熟练的进行光盘刻录,但是PC机使用的是Windows操作系统,而苹果机使用的是MAC系统,这两种不同的系统,使得很
- PotPlayer播放器播放过程中进度条等工具消失的问题,最近有很多用户反应PotPlayer播放器播放过程中进度条消失的情况,使用Potp
- 不少Win11用户在使用电脑的时候,发现电脑的Widgets面板被破坏了,遇到这种问题要怎么解决呢?下面就来看看解决的办法。方法一:等待官方
- Word2007如何快速把数字转化为大写数?很多朋友都不是很清楚,其实方法很简单的,下面小编就为大家详细介绍一下,希望能对大家有所帮助我们处
- Win10系统自带的杀毒软件虽然说会实时的保护我们电脑安全,但是在下载一些文件的时候经常会被拦截,那么如何关闭实时保护呢?下面我们一起来看看
- Win11无线显示器安装失败错误0x80070057怎么办?近期有部分Win11用户反映,电脑在可选功能中需要添加无线显示器时,出现了安装失
- Aero Peek预览桌面,在小编看来绝对是很重大的功能。在Win7安装版系统中,用户可以通过任务栏和开始菜单属性中的“使用Aero Pee
- 我们在使用word编辑的时候,经常需要插入表格,如果表格比较长跨页了的话,如何设置打印的时候让表头在每一页都出现呢,下面小编马上就告诉大家w
- 排版的时候经常会用到分节符,那么word中如何使用分节符?其实操作不难的,接下来小编就给大家讲解讲解,一起来瞧瞧吧!1、分节符类型下一页、连
- win8代理服务器上网的时候,在Windows 8当中,可能会遇到New UI 下的应用无法连接网络,从而导致无法使用的情况,接下来为大家分
- 当在进行Word文档编辑时,经常要用到一些编号,比如说第一、第二、第三。。。,条目一、条目二、条目三。。。如果每次都要手动输入这些编号的话,
- 我们使用WPS表格的时候,可能需要调整行高和列宽,那么在WPS表格中怎么调整每一列的列宽?下面小编就为大家介绍一下,一起来看看吧WPS表格是