动态SUMPRODUCT函数报错求助:基于MATCH/COUNT构建范围失败
解决动态SUMPRODUCT引用范围的问题
你的原公式无法运行的核心原因是:Excel不支持直接通过文本拼接(如"D"&G2:"D"&H2)生成单元格范围引用,这种写法无法被识别为有效的单元格区域。
以下是两种可行的解决方法:
方法1:使用INDEX函数(推荐,非易失性)
INDEX函数可以精准定位到指定行的单元格,结合起来就能构建动态范围:
=SUMPRODUCT(INDEX('Work Center KHK'!D:D,G2):INDEX('Work Center KHK'!D:D,H2),INDEX('Work Center KHK'!E:E,G2):INDEX('Work Center KHK'!E:E,H2))
INDEX('Work Center KHK'!D:D,G2)返回D列第G2行的单元格INDEX('Work Center KHK'!D:D,H2)返回D列第H2行的单元格- 两者组合就是D列从G2到H2的连续区域,E列同理,SUMPRODUCT会对两个区域的对应单元格相乘后求和
如果需要处理G2大于H2的异常情况,避免返回错误值,可以添加IF判断:
=IF(G2>H2,0,SUMPRODUCT(INDEX('Work Center KHK'!D:D,G2):INDEX('Work Center KHK'!D:D,H2),INDEX('Work Center KHK'!E:E,G2):INDEX('Work Center KHK'!E:E,H2)))
方法2:使用INDIRECT函数(易失性,慎用)
INDIRECT可以将文本字符串转换为Excel可识别的单元格引用,写法更直观,但属于易失函数(每次工作表变动都会重新计算,大数据量下影响性能):
=SUMPRODUCT(INDIRECT("'Work Center KHK'!D"&G2&":D"&H2),INDIRECT("'Work Center KHK'!E"&G2&":E"&H2))
内容的提问来源于stack exchange,提问作者Inuraghe
相关产品推荐
相关产品推荐

