【问题标题】:Google sheets ArrayFormula SUM Ouput in all colomnsGoogle 在所有列中工作表 ArrayFormula SUM 输出
【发布时间】:2017-12-19 14:34:40
【问题描述】:

让我们有以下矩阵:

 A B C ...
1
2
3
4

A1 - C3 用数字填充。 A4 - C4 应该输出两个单元格的总和。

Arrayformula(SUM(A1:C3)) 仅提供一个包含所有单元格总和的输出。 我已经找到了一些数组公式之和的公式,但是输出总是在数组下面而不是在右边......

所以应该是这样的:

   A   B   C ...
1 "1" "3" "2" 
2 "1" "2" "3"
3 "3" "1" "2"
4 "5" "6" "7"

但公式不应仅限于 A-C,它应该来自 A - 无限制

谢谢。

【问题讨论】:

    标签: google-sheets array-formulas


    【解决方案1】:

    这个问题的一个众所周知的解决方案是矩阵乘法。将以下公式放入A4:

    =MMULT({1;1;1}, A1:C3)
    

    或者如果您的电子表格设置为使用分号而不是逗号作为主要分隔符:

    =MMULT({1\1\1}; A1:C3)
    

    解释:其实是矩阵代数,通过将1的水平向量乘以矩阵,得到矩阵列的垂直和的水平向量。可以在 Wiki 和许多其他地方找到对矩阵乘法的解释。还有很多通过谷歌搜索“矩阵乘法”+电子表格或+excel等在电子表格中使用MMULT的例子。

    这里有一组关于使用 MMULT 的特别好的示例:https://docs.google.com/spreadsheets/d/1NJPAt5iFQWIyxHx35bpCh6zjVeKon4rdTPk-dfyZDrU/edit#gid=748926120

    【讨论】:

    • MMULT 是解决方案。谢谢你。
    • 对于一行,公式有效。但是对于不止一行,例如在示例中,谷歌电子表格抱怨不同数量的矩阵值。附上示例电子表格:docs.google.com/spreadsheets/d/…
    • 您的电子表格设置使得分号是主要分隔符而不是逗号。在这种情况下,谷歌有点奇怪,当你使用分号时,你会得到一个垂直向量而不是水平向量。要使用水平向量,请用反斜杠分隔值。我会编辑答案。
    猜你喜欢
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多