如何在多工作表使用SUMPRODUCT函数?如何实现精确匹配?
使用SUMPRODUCT实现多工作表查找与精确匹配
一、多工作表查找的实现
可以通过将多个工作表的条件判断结果相加,再用SUMPRODUCT汇总来实现跨表统计。
1. 固定工作表列表的情况
如果需要查询的工作表是固定的(比如APRIL、MAY、JUNE),直接把每个工作表的条件逻辑相加:
=SUMPRODUCT( (APRIL!L:L="AB")*ISNUMBER(SEARCH({"F/W"},APRIL!E:E,1)) + (MAY!L:L="AB")*ISNUMBER(SEARCH({"F/W"},MAY!E:E,1)) + (JUNE!L:L="AB")*ISNUMBER(SEARCH({"F/W"},JUNE!E:E,1)) )
2. 规律命名工作表的批量处理
如果工作表名有规律(比如按月份命名Jan、Feb...Dec),可以结合INDIRECT函数批量引用:
=SUMPRODUCT( SUM( INDIRECT("'"&{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}&"'!L:L=""AB""*ISNUMBER(SEARCH({""F/W""},'"&{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}&"'!E:E,1))") ) )
注意:尽量避免整列引用(如
L:L、E:E),建议替换为实际数据范围(比如L2:L1000),减少不必要的计算量,提升公式运行效率。
二、精确匹配的调整
原公式中ISNUMBER(SEARCH({"F/W"},APRIL!E:E,1))是模糊查找(只要单元格包含F/W就算匹配),要实现精确匹配,直接用等于判断即可:
1. 单工作表精确匹配公式
=SUMPRODUCT((APRIL!L:L="AB")*(APRIL!E:E="F/W"))
这个公式会统计APRIL表中L列等于AB且E列完全等于F/W的单元格数量。
2. 多工作表精确匹配公式
结合多工作表的逻辑,精确匹配的写法如下:
=SUMPRODUCT( (APRIL!L:L="AB")*(APRIL!E:E="F/W") + (MAY!L:L="AB")*(MAY!E:E="F/W") + (JUNE!L:L="AB")*(JUNE!E:E="F/W") )
内容的提问来源于stack exchange,提问作者TK4795
相关产品推荐
相关产品推荐

