我的电子表格是关于员工假期日历。每位员工每年有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
答案 0 :(得分:0)
日历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","")))