我在Google Spreadsheets中看到了一些在SUM()
中使用ARRAYFORMULA()
的例子(奇怪的是,它们似乎都是解决方法)但我无法弄清楚如何将它们应用于使用而是MIN()
。
假设我有A
,B
和C
列,我只想在MIN(A:C)
列上获得D
的结果,仅供参考每行匹配的三个单元格。直截了当的方式应该是ARRAYFORMULA(MIN(A1:C))
,但肯定是不行的。
对于Google电子表格中的所有行,我如何以编程方式计算一行中某些单元格的MIN()
?
答案 0 :(得分:4)
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)))
答案 1 :(得分:2)
尝试此解决方法/公式:
=index(ArrayFormula(transpose(query(transpose(A:C),"select "&join("),","min(Col"&row(indirect("A1:A"&count(A:A))))&")"))),,2)
看看是否有效?
基本上这个
答案 2 :(得分:2)
一些“统计”和“数学”类型的函数 - AVERAGE, COUNT, MAX, MIN, SUM - 每个都有相应的 {{ 1}} 和/或 *IF
变体,当与 INDEX 函数结合使用时,似乎可以满足这种需求。
例如,我有一个名为 *IFS
的工作表,A 列中有日期,B 列中有美元金额。我想获取日期为 2021 年的行的最低美元金额。
monthly
这种类型的函数包括...
单数形式 (=INDEX(MINIFS(monthly!$B$2:$B, YEAR(monthly!$A$2:$A), 2021))
) 根据单个条件匹配行。复数形式 (*IF
) 根据多个条件匹配行。
答案 3 :(得分:0)