【问题标题】:How to use a conditional array formula in Google Sheets?如何在 Google 表格中使用条件数组公式?
【发布时间】:2017-03-05 06:27:20
【问题描述】:

我希望我的电子表格用户能够在数组公式的两个不同选项之间进行选择。我试图把它放在IF 声明中,但我无法让它工作。我不想将其剪切并粘贴到列中,因为我希望在添加新行时应用它。我真的不知道我在做什么,但我已经摆弄了几个小时了。这是我目前拥有的代码:

=IF($B$6="alternating days",ARRAYFORMULA(IF(ISBLANK(indirect("OVERVIEW!$A" & row())),IF($C2:C="l","l" ,"d"),IF($C2:C="l","d","l"))),IF($B$6="weekdays/weekends",ARRAYFORMULA(IF(ISBLANK(indirect("OVERVIEW !$A" & row())),IF($C2:C="l","l","d"),IF(OR(WEEKDAY
(indirect("OVERVIEW!$A" & row()))=1,WEEKDAY(indirect("OVERVIEW!$A" & row()))=7),"l","d"))),"无"))

公式很长,请往下滚动。

我试图在开头使用ARRAYFORMULA,但它不允许我只引用$B$6

感谢您提供的任何帮助。

【问题讨论】:

  • 你能分享一个带有一些虚拟数据的样本表吗?如果没有一些假数据来确认预期结果,真的很难调试
  • 这是一个链接:docs.google.com/spreadsheets/d/… 它位于C3 的“设置”选项卡上。该公式将控制条件格式。谢谢
  • 您能否添加几行来演示一旦在该设置页面上填充了一些数据后它应该是什么样子?谢谢
  • 如果选择了“交替日”,那么它应该在工作表的 L 和 D 之间交替。如果选择了“周末/工作日”,则行号应与 OVERVIEW 页面相对应,如果当天是周末,则为 D,如果是工作日,则为 L。谢谢。
  • 您会注意到,如果您在该列中手动输入 L 或 D(小写),它将更改其他选项卡上相应行的阴影。

标签: google-apps-script google-sheets spreadsheet google-apps


【解决方案1】:

我推荐这样的东西:

=ARRAYFORMULA(IF($B$6="alternating days",if(isodd(row(indirect("C4:C"&counta(OVERVIEW!A3:A)+3))),"l","d"),IF($B$6="weekdays/weekends",ARRAYFORMULA(IF(WEEKDAY(OVERVIEW!A3:A)=1,"d",if(WEEKDAY(OVERVIEW!A3:A)=7,"d","l"))))))

如果日期是交替的,则使用奇数行来交替字母,否则只需组合 2 个 IF 语句来确定是否是工作日。

【讨论】:

  • 感谢您的回复,但是如果添加了额外的行(表示一天有多个事件),它不仅会交替检测到的行,然后使它们相同颜色,以便它是交替的日子而不是行。因此,仅交替奇数行是行不通的。
  • 这是您应该添加到问题中的重要细节
猜你喜欢
  • 2019-09-12
  • 2021-06-04
  • 2022-01-16
  • 1970-01-01
  • 2021-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多