【问题标题】:Array Formula for running column minimum excluding above rows运行列最小值的数组公式,不包括上述行
【发布时间】:2019-09-27 14:28:10
【问题描述】:

所以我有一个电子表格,其中有一列很长的数字序列。我想在它旁边有第二列,显示第一列中包含的最低值,不包括上面的任何行。

现在我已经通过在第二列的每一行中使用一个公式来实现这一点 [ 即:=MIN($I2:I) ],但我宁愿避免在每一行中都有一个公式。有没有办法使用单个数组公式来完成此任务?

【问题讨论】:

  • 请选择 excel 或 google 表格,它们的差异足以使答案可能无法跨平台工作。
  • 你能分享一份你的工作表吗?

标签: google-sheets google-sheets-formula array-formulas google-sheets-query cumulative-sum


【解决方案1】:
=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(ARRAY_CONSTRAIN(SPLIT({""; 
 REPT("×99999", ROW(INDIRECT("A1:A"&COUNTA(A1:A)-1)))}&"×"&TEXTJOIN("×", 1, 
 INDEX(SORT({INDIRECT("A1:A"&COUNTA(A1:A)), ROW(INDIRECT("A1:A"&COUNTA(A1:A)))}, 2, 0)
 ,,1)), "×"), COUNTA(A1:A), COUNTA(A1:A))), "select "&TEXTJOIN(",", 1, IF(LEN(A1:A), 
 "min(Col"&ROW(A1:A)&")", ))&"")), "select Col2"))

spreadsheet demo

【讨论】:

  • 谢谢!太有用了!
  • 有没有办法在第 2 行启动它?我将顶行用作标题行,但是当我将“A1:A”更改为“A2:A”时,它会中断
  • 从第 2 行开始是:=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(ARRAY_CONSTRAIN(SPLIT({""; REPT("×99999", ROW(INDIRECT("A2:A"&COUNTA(A2:A))))}&"×"&TEXTJOIN("×", 1, INDEX(SORT({INDIRECT("A2:A"&COUNTA(A2:A)+1), ROW(INDIRECT("A2:A"&COUNTA(A2:A)+1))}, 2, 0) ,,1)), "×"), COUNTA(A2:A)+1, COUNTA(A2:A)+1)), "select "&TEXTJOIN(",", 1, IF(LEN(A2:A), "min(Col"&ROW(A1:A)&")", ))&"")), "select Col2")) - i.stack.imgur.com/Vx8ot.png
猜你喜欢
  • 2014-07-09
  • 2016-02-20
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
  • 2015-10-01
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多