前几期的文章中给大家介绍了一个关于条件求和的例子,文章连接为:这是一个简单的条件求和的问题,但是SUMIF解决不了,这期是同样的一个问题,只能条件稍微有变化,如下图所示:
注意:与上次不同的是,上期的文章中的条件是“*月”,比如“1月”,而应收款日期列的格式是“yyyy/mm/dd”,而这次属于上面的这种类型。对于这样的情况,如果不进行处理,同样SUMIF与SUMIFS函数也是没有办法进行统计的。
1
Sumproduct+Search
在G2单元格中输入公式,按Enter键完成后向下填充:
=SUMPRODUCT((ISNUMBER(SEARCH(F3&"*",$B$2:$B$25))*$C$2:$C$25))
如果将上面的公式改写成数组公式,即在G2单元格中输入公式,按键完成后向下填充:
=SUM((ISNUMBER(SEARCH(F3&"*",$B$2:$B$25))*$C$2:$C$25))
注:SEARCH函数支持通配符查找,同时第一个参数也支持单元格区域;ISNUMBBER函数是将SEARCH函数查找的结果进行判断,是否为数字,如果为数字,返回TRUE,如果不是则返回为FALSE,同时逻辑值又可以与数值进行互换,所以就可以正确地得到结果。
2
Sumproduct+Left
在G2单元格中输入公式,按Enter键完成后向下填充:
=SUMPRODUCT((--LEFT($B$2:$B$25,6)=F3)*$C$2:$C$25)
如果将上面的公式改写成数组公式,即在G2单元格中输入公式,按键完成后向下填充:
{=SUM((--LEFT($B$2:$B$25,6)=F3)*$C$2:$C$25)}
注:这里使用LEFT函数左取日期列6位,然后再使用“--”减负运算将文本型的数值转换成与目标值一致的数值型的。
3
Sumproduct+Find
在G2单元格中输入公式,按Enter键完成后向下填充:
=SUMPRODUCT((--LEFT($B$2:$B$25,6)=F3)*$C$2:$C$25)
如果将上面的公式改写成数组公式,即在G2单元格中输入公式,按键完成后向下填充:
{=SUM((ISNUMBER(FIND(F3,$B$2:$B$25)))*$C$2:$C$25)}
注:FIND函数不支持通配符查找。这里使用FIND函数第一个参数支持单元格区域的特性,找目标值是否在日期列中能否找到,然后自用ISNUMBER判断是否为数字,如果为数字,表示能找到,则返回TRUE,否则表示找不到,则返回FALSE,再根据逻辑值与数值的互换的原理去乘积求和。
领取专属 10元无门槛券
私享最新 技术干货