【问题标题】:Google Spreadsheet: Making an arrayformula that expands vertically and horizontally with conditions谷歌电子表格:制作一个随条件垂直和水平扩展的数组公式
【发布时间】:2017-09-08 21:37:23
【问题描述】:

我的电子表格是关于员工假期日历的。每个员工每年有 25 天的假期,他可以建议什么时候放假,假期是否分开。

工作表“响应”的数据被定向到工作表“选项”。然后,选择的期间在“选项拆分”表中拆分为开始日期和结束日期。

从工作表“日历”中的 E4 开始的主要公式主要检查日期单元格(从 E$1 到 NE$1)是否在所选期间之间。如果是,则在该单元格上设置值“VACATION”。

=IF((OR(and(E$1>='OPTIONS - PERIODS SPLITED'!$B5;E$1<='OPTIONS - PERIODS SPLITED'!$C5);and(E$1>='OPTIONS - PERIODS SPLITED'!$D5;E$1<='OPTIONS - PERIODS SPLITED'!$E5);and(E$1>='OPTIONS - PERIODS SPLITED'!$F5;E$1<='OPTIONS - PERIODS SPLITED'!$G5)));"VACATION"; "")

我将公式从 E4 拖到 N41。但是,我想知道是否可以使用 arrayformula 函数将公式垂直扩展到第 41 行并水平扩展到 NE 列。

注意:下面的表格是副本。我已经减少了原始公式以促进理解。我希望它是可以理解的。

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

【问题讨论】:

    标签: google-sheets array-formulas


    【解决方案1】:

    日历!E4:

    =ARRAYFORMULA(IF(C4:C41='OPTIONS - PERIODS SPLITED'!A5:A42,IF(((E1:NE1>='OPTIONS - PERIODS SPLITED'!B5:B42)*(E1:NE1<='OPTIONS - PERIODS SPLITED'!C5:C42)+(E1:NE1>='OPTIONS - PERIODS SPLITED'!D5:D42)*(E1:NE1<='OPTIONS - PERIODS SPLITED'!E5:E42)+(E1:NE1>='OPTIONS - PERIODS SPLITED'!F5:F42)*(E1:NE1<='OPTIONS - PERIODS SPLITED'!G5:G42))>0,"Vacation","")))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      相关资源
      最近更新 更多