如何汇总Google Spreadsheets中每列的最大值?

时间:2016-06-21 13:36:16

标签: google-sheets

我有一个Google电子表格的数字。如何从每列中获取最大值,并仅使用一个公式对其进行汇总? (没有临时单元格,没有脚本。)

1  2  1
0  1  3
0  2  0

对于上表,结果应为6(1 + 2 + 3,每列的最大值)。但是我想要一个适用于更大表的解决方案。

作为一个更普遍的问题,我想了解如何使用任意运算符(例如MAXSUM)将2D范围折叠成1D数组。

2 个答案:

答案 0 :(得分:5)

假设您的数据在A2:D范围内,要获得每行的最大值(数组输出),请尝试

=query(transpose(query(if(row(A2:D)>=transpose(row(A2:D)),transpose( A2:D)),"select max(Col1),max(Col2),max(Col3),max(Col4) ",0)),"Select Col2", 0)

如果你需要处理很多列,这可能会更好

=ArrayFormula(QUERY(TRANSPOSE(QUERY(TRANSPOSE( A2:D) , "Select "&"MAX(Col"&JOIN( ", MAX(Col",ROW(INDIRECT( "YY1:YY"&ROWS(A2:A)))&")"))), "Select Col2", 0))

总结一下,只需在上面的公式周围包装SUM()即可。

答案 1 :(得分:0)

通过A1:C3中的列的MAX

=INDEX(QUERY({A1:C3},"Select "&"MAX(Col"&JOIN(", MAX(Col",SEQUENCE(COLUMNS(A1:C3))&")"),0),2)

通过A1:C3中的行最多MAX

=TRANSPOSE(INDEX(QUERY(TRANSPOSE(A1:C3),"Select "&"MAX(Col"&JOIN(", MAX(Col",SEQUENCE(ROWS(A1:C3))&")"),0),2))

用MIN代替MAX以获得最小值。