【问题标题】:How can I apply an Arrayformula for multiple cells on Google Sheets which includes fixed and variable cells?如何为 Google 表格上的多个单元格应用 Arrayformula,其中包括固定单元格和可变单元格?
【发布时间】:2020-02-05 14:58:00
【问题描述】:

我想将数组公式应用于我在 Google 表格上的工作表,当我将公式下拉到下面的单元格时效果很好。但是因为我有很多数据,所以我需要对这个公式使用数组公式,我找不到如何将变量单元格(在本例中为 B11 和 C11)应用于它下面的所有单元格的解决方案。

截图应该很好地解释了我的问题。

=COUNTIF((ARRAYFORMULA(IF((ARRAYFORMULA(IF(B11>$B$4:$B$7,IF(C11>$C$4:$C$7,1,0),0)))=1,IF((ARRAYFORMULA(IF($K$4:$K$7>$J$4:$J$7,1,0)))=1,1,0),0))),"1")

这里是我的文件的链接:

https://docs.google.com/spreadsheets/d/1c17IQCujy3cQwDOcbJUpm3iCgJHCbD8QRbK0aQfVtQA/edit?usp=sharing

输出在绿色区域

【问题讨论】:

  • 分享您的工作表副本以及所需输出的示例

标签: if-statement google-sheets sum google-sheets-formula array-formulas


【解决方案1】:

应该是这样的:

=ARRAYFORMULA(MMULT(
 IF(IF(INDIRECT("B11:B"&COUNTA(B11:B)+10)>TRANSPOSE(B4:B7),
    IF(INDIRECT("C11:C"&COUNTA(C11:C)+10)>TRANSPOSE(C4:C7), 1, 0), 0)=1,
 IF(IF(TRANSPOSE(K4:K7)>TRANSPOSE(J4:J7), 1, 0)=1, 1, 0), 0), {1; 1; 1; 1}))


【讨论】:

  • 如果我将范围(在示例中为 B4:B7 和 C4:C7)扩展到 B4:B1000 和 C4:C1000,我收到错误“结果数组太大。”我还添加了足够的“1;”在末尾。有没有办法解决这个问题?
  • 你能分享你的工作表吗?
  • 是的,我现在看到了这个问题。您的数组非常大(16000 多行),而 MMULT 无法一次性处理所有这些,因此您需要将您的公式分成更小的块,如下所示:i.stack.imgur.com/vhVeV.png
  • 哇,你成功了!太感谢了。如果您现在告诉我必须在哪里添加 0 和 1,当我想为“数据”中的所有 5 列添加 IF 语句时,您就是我的英雄。
猜你喜欢
  • 1970-01-01
  • 2021-06-05
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
  • 2021-11-20
相关资源
最近更新 更多