在ARRAYFORMULA()中使用MIN()

时间:2015-04-27 04:04:49

标签: google-sheets min array-formulas

我在Google Spreadsheets中看到了一些在SUM()中使用ARRAYFORMULA()的例子(奇怪的是,它们似乎都是解决方法)但我无法弄清楚如何将它们应用于使用而是MIN()

假设我有ABC列,我只想在MIN(A:C)列上获得D的结果,仅供参考每行匹配的三个单元格。直截了当的方式应该是ARRAYFORMULA(MIN(A1:C)),但肯定是不行的。

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

4 个答案:

答案 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)

D1中的

尝试此解决方法/公式:

=index(ArrayFormula(transpose(query(transpose(A:C),"select "&join("),","min(Col"&row(indirect("A1:A"&count(A:A))))&")"))),,2)

看看是否有效?

基本上这个

  • 首先在A:C
  • 中转换数字
  • 计算每列的最小值(QUERY函数)
  • 然后将这些最小值转换回行

答案 2 :(得分:2)

一些“统计”和“数学”类型的函数 - AVERAGE, COUNT, MAX, MIN, SUM - 每个都有相应的 {{ 1}} 和/或 *IF 变体,当与 INDEX 函数结合使用时,似乎可以满足这种需求。

例如,我有一个名为 *IFS 的工作表,A 列中有日期,B 列中有美元金额。我想获取日期为 2021 年的行的最低美元金额。

结合 INDEXMINIFS 对我有用......

monthly

这种类型的函数包括...

单数形式 (=INDEX(MINIFS(monthly!$B$2:$B, YEAR(monthly!$A$2:$A), 2021)) ) 根据单个条件匹配行。复数形式 (*IF) 根据多个条件匹配行。

答案 3 :(得分:0)

=QUERY(TRANSPOSE(QUERY(TRANSPOSE(A1:C), 
 "select "&REGEXREPLACE(JOIN( , ARRAYFORMULA(IF(LEN(A1:A&B1:B&C1:C), 
 "min(Col"&ROW(A1:A)-ROW(A1)+1&"),", ""))), ".\z", "")&"")),
 "select Col2")

0