我目前正在使用以下公式来填充工作表中特定数据的总和:
=SUM(SUMIF(D:D,{"H0032","H0031"},F:F))
但是,我正在寻找此公式的补充。我有一个持续时间列(F),其中有 1-250 分钟。我需要此公式按 15 的倍数向下舍入。因此,如果 F 列中的单元格为 44,我希望公式在对“H0032”和“H0031”求和之前将其转换为 30。如果 F 列中的单元格为 46,我希望公式在求和之前将其转换为 45。
如果您知道可以让我完成所有这些事情的公式,请告诉我。
谢谢您的帮助!
答案1
您需要使用这个数组公式
=SUM(IF(((D1:D100="H0032")+(D1:D100="H0031"))>0,INT(F1:F100/15)*15))
作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 而不是 Enter 进行确认。如果操作正确,Excel 会将{}
公式放在一边。
或者这个可以正常输入的SUMPRODUCT():
=SUMPRODUCT((((D1:D100=90791)+(D1:D100=99343))>0)*INT(F1:F100/15)*15)
还要注意,引用不再是完整的列,而应该设置为数据集的范围,以避免不必要的计算。