如何使用SUMMEWENNS对多个指定成本位置值批量求和?
动态多值列表的SUMMEWENNS批量求和方案
一、支持动态数组的Excel版本(365/2021及以上)
如果你的Excel版本支持动态数组功能,不用逐个写SUMMEWENNS,直接用数组条件配合SUM就能实现动态多值求和:
假设目标成本位置列表放在PositionList区域(比如A1:A10,不管实际有多少个有效值),公式如下:
=SUM(SUMMEWENNS(Cost[Wert/BWähr];Cost[Position];PositionList))
原理是SUMMEWENNS会针对列表里的每个值单独计算求和结果,返回一个结果数组,外层的SUM直接把这些结果加总,不管列表里有1个还是10个值都适用。
如果需要确保只计算整百的位置(排除101、102这类中间值),可以在条件里加筛选:
=SUM(SUMMEWENNS(Cost[Wert/BWähr];Cost[Position];FILTER(PositionList;MOD(PositionList;100)=0)))
二、旧版Excel(不支持动态数组)
如果是没有动态数组的旧版本Excel,用SUMPRODUCT结合COUNTIF也能实现:
=SUMPRODUCT(Cost[Wert/BWähr];COUNTIF(PositionList;Cost[Position]))
这个公式会先判断Cost表中每个位置是否在目标列表里,匹配到的条目会被标记为1,未匹配的为0,最后和对应成本值相乘后求和,自动汇总所有符合条件的条目。
同样要筛选整百位置的话,调整公式:
=SUMPRODUCT(Cost[Wert/BWähr];COUNTIF(PositionList;Cost[Position]);--(MOD(Cost[Position];100)=0))
内容的提问来源于stack exchange,提问作者Matthias Pospiech
相关产品推荐
相关产品推荐

