Excel中无需辅助行计算指定列的行乘积之和的方法问询
Excel中无需辅助行计算指定列的行乘积之和的方法问询
嗨,我来帮你搞定这个问题!你现在想跳过辅助行,直接算出从A列到A7指定列范围内,每列第1、3、5行数值的乘积之和对吧?下面给你两种实用的方案,适配不同的Excel版本:
通用方案(适用于所有Excel版本)
这个方法不依赖新版本的动态数组功能,老版本也能用,注意输入方式即可:
=SUMPRODUCT(PRODUCT(INDEX(A1:E5,{1,3,5},COLUMN(A1:INDIRECT(A7&"5")))))
注意:在Excel 2019及更早版本中,输入完公式后需要按 Ctrl+Shift+Enter 作为数组公式确认;Excel 365/2021直接回车即可生效。
公式拆解:
INDEX(A1:E5,{1,3,5},COLUMN(...)):精准提取每列的第1、3、5行数值;PRODUCT(...):对每列的三个目标数值计算乘积;COLUMN(A1:INDIRECT(A7&"5")):根据A7中的列名(比如示例里的C),自动锁定需要计算的列范围;SUMPRODUCT:把所有列的乘积结果汇总求和。
简洁方案(适用于Excel 365/2021)
如果你用的是支持动态数组的新版本Excel,这个方法更直观简洁:
=SUM(BYCOL(A1:INDIRECT(A7&"5"),LAMBDA(col,PRODUCT(INDEX(col,{1,3,5})))))
公式拆解:
BYCOL(...):遍历从A列到A7指定列的每一列;LAMBDA(col,PRODUCT(...)):对每一列(用col指代),提取其第1、3、5行数值并计算乘积;SUM:把所有列的乘积结果直接求和。
用这两个公式都能直接得到你要的50288,完全不需要依赖辅助行~
备注:内容来源于stack exchange,提问作者Oleg
相关产品推荐
相关产品推荐

