ARRAYFORMULA SUM

时间:2018-03-24 03:55:54

标签: google-sheets

我在A栏中有一系列数字。

我想在单个ArrayFormula 中获取B列中的数字总和(如果可能)。

1) REGEXEXTRACT(A1&"",REPT("(.)",LEN(A1))))
// returns a horizontal text array eg: 123 => 1|2|3

2) ARRAYFORMULA(VALUE(REGEXEXTRACT(A1&"",REPT("(.)",LEN(A1)))))
// returns the horizontal text array as a number array

3) SUM(ARRAYFORMULA(VALUE(REGEXEXTRACT(A1&"",REPT("(.)",LEN(A1))))))
// returns the digit sum of value in column A
  1. 我不能直接将SUM()应用于公式(1),因为返回的数组是文本
  2. 使用(3)或其他方式,可以使用单个ArrayFormula来获取A列中数字的数字和。
  3. 谢谢。

    编辑:示例spreadsheet - 目前,公式在B列中手动复制 - 寻找单个ArrayFormula来执行此操作。

1 个答案:

答案 0 :(得分:2)

假设每个单元的最大位数= 7,

=ARRAYFORMULA(MMULT(SPLIT(REGEXREPLACE(TEXT(A1:A2,REPT("0",7)),"\B",""),""),ROW(A1:A7)^0))
  • 7的所有实例更改为每个单元格的最大位数
  • TEXT使位数保持不变
  • REGEX将所有\B替换为任意字符
  • SPLIT char以提供矩阵
  • MMULT与垂直1矩阵相乘以得到所需的结果。