
Excel中Sumif函数,需要将判断区域中的日期先转换为星期,然后统计一周中每天的和,如何实现?
补充下,就是导出了一个销售台账,A列是日期+时间的格式,B列是金额,需要统计每个周一总金额,每个周二总金额。
用函数sumif(a:a,"星期一",b:b),需要将a列转换为星期,如何操作?前提是不能对再添加计算好的星期列。

由于SUMIF 函数本身不支持直接对日期进行星期几的判断,需要借助辅助列来完成计算。
而题主强调不需要辅助列,因此,我们需要通过一些技巧来完成这个任务。
Excel 中的数组公式可以在不额外添加列的情况下直接计算所需的结果。小兔分享两个方法实现按星期求和的效果。
方法一:SUM+IF组合公式
我们可以在E1单元格输入下面的公式:
=SUM(IF(TEXT($A$1:$A$25,"aaaa")=D1,$B$1:$B$25,0))
通过SUM与IF函数相结合,达到SUMIF函数的求和效果。
公式说明:
1、TEXT($A$1:$A$25,"aaaa"):将日期转换为星期几的文本格式。
2、IF(TEXT($A$1:$A$25,"aaaa")=E5,$B$1:$B$25,0):判断每个日期是否等于 E5 单元格中的星期几,如果是,返回对应的金额,否则返回 0。
3、SUM(...) 对上述结果求和,得到对应星期几的金额总和。

方法二:SUMPRODUCT函数
SUMPRODUCT 函数可以处理文本格式的条件匹配,并且可以直接对数组进行求和。
我们可以在E1单元格输入下面的公式:
=SUMPRODUCT(--(TEXT($A$1:$A$25,"aaaa")=D1),$B$1:$B$25)
公式说明:
1、TEXT($A$1:$A$25,"aaaa"):将日期转换为星期几的文本格式。
2、--(TEXT($A$1:$A$25,"aaaa")=D1):将逻辑值 TRUE 和 FALSE 转换为 1 和 0。
3、SUMPRODUCT 将这些 1 和 0 与对应的 $B$1:$B$25 相乘并求和。

以上分享的两种方法都能实现题主想要的效果,实际使用时,我们要根据自己的具体情况做选择哦,当然,方法不仅限于这两种,有更好的方法,欢迎给小兔留言哦~
想了解更多精彩内容,快来关注