Excel如何实现对应单元格大于0时,指定区域绝对值的条件求和?
解决方法
兼容全Excel版本的方案(用SUMPRODUCT函数):
公式:=SUMPRODUCT((F11:F34>0)*ABS(E11:E34))
逻辑:(F11:F34>0)会生成一组由1和0组成的数组(满足条件为1,不满足为0),和ABS(E11:E34)生成的绝对值数组相乘后,SUMPRODUCT会自动对所有乘积求和,最终只计入F列对应单元格大于0的E列绝对值。Excel 365/2021及以上版本可用更直观的组合:
公式:=SUM(FILTER(ABS(E11:E34), F11:F34>0))
逻辑:FILTER函数先筛选出F11:F34中大于0对应的E11:E34的绝对值,再用SUM对筛选结果求和。
你之前的SUMIF公式失效,是因为SUMIF的求和区域参数仅支持直接引用单元格区域,不能嵌套像ABS这类直接作用于区域的数组型函数,而SUMPRODUCT或FILTER+SUM可以处理这种带条件的数组运算。
内容的提问来源于stack exchange,提问作者Jackson
相关产品推荐
相关产品推荐

