Excel动态数组函数实现重复数值横向求和需求
Excel动态数组实现数值按重复次数展开求和方案
单列结果(与原数据同列数)
如果你需要针对每一列的数值,分别计算其按重复次数展开后的求和结果,补全你已有的BYCOL公式即可:
按重复次数展开求和
=BYCOL(R12C23:R12C, LAMBDA(x, x * x))
原理:数值x重复x次的求和等价于x*x(比如3重复3次求和为3+3+3=9)。
按重复次数减一展开求和
若按需求中“重复次数减一”的规则,调整公式为:
=BYCOL(R12C23:R12C, LAMBDA(x, x * (x - 1)))
整体总和结果
如果不需要单独列的结果,只想直接得到所有数值展开后的总求和,用SUMPRODUCT更高效(适配超100列的大数据量):
按重复次数展开总求和
=SUMPRODUCT(R12C23:R12C ^ 2)
按重复次数减一展开总求和
=SUMPRODUCT(R12C23:R12C * (R12C23:R12C - 1))
核心逻辑
展开n次同一个数值x的求和,本质就是x * n——无需生成中间展开行,直接通过乘法运算替代展开求和的过程,既节省内存又提升运算效率,完全适配你的需求场景。
内容的提问来源于stack exchange,提问作者Enigmativity
相关产品推荐
相关产品推荐

