在ARRAYFORMULA()中使用MIN()

lim*_*ima 6 min google-sheets array-formulas google-sheets-query google-sheets-formula

我见过使用的一些例子SUM()内的ARRAYFORMULA()在谷歌电子表格(奇怪的是,他们似乎都喜欢的解决方法),但我无法弄清楚如何将它们应用到使用MIN()代替。

假设我有column AB并且C我只想获取MIN(A:C)D列的结果,仅针对与每一行匹配的三个单元格。直截了当的方式应该是ARRAYFORMULA(MIN(A1:C))足够的,但是肯定是行不通的。

如何以编程方式MIN()为Google电子表格中的所有行计算一行中某些单元格的?

Ada*_*m B 6

MIN()无论范围大小如何,总是返回单个值,因此ARRAYFORMULA()不会更改输出-它仅有助于转换不处理范围的公式。

作为快速回答,您可以简单地重写MIN()使用类似IF()以下内容的逻辑: =ARRAYFORMULA(if(A:A < B:B, if (A:A < C:C, A:A, C:C), if(B:B < C:C, B:B, C:C)))

  • 这对于少数列来说效果很好,但随着列数的增加,它变得*真的*令人讨厌。我读到最初的问题是为了寻找一个通用的解决方案,“假设我有列‘A’、‘B’和‘C’”,只是为了解释问题。如果有人需要使用四列,则解决方案是 `=ARRAYFORMULA(if(A:A &lt; B:B,if(A:A &lt; C:C,if(A:A &lt; D:D, A:A , D:D),if(C:C &lt; D:D, C:C, D:D)),if(B:B &lt; C:C,if(B:B &lt; D:D, B:B, D:D),if(C:C &lt; D:D, C:C, D:D))))`。每增加一列,整体大小就会增加一倍。5 列刚好可以管理,但需要 312 个字符。 (3认同)