在设计例如“加班单”或“请假单”时,可能需要判断某一天是否为工作日(平日)或假日。此时可透过 IF 条件函数搭配 NETWORKDAYS 函数来达成,请参阅以下步骤。
请先新增一个全域常量,例如命名为“假日”,将所有周末以外的国定假日整理为日期数组,作为后续判断依据。
相关设置方式请参阅此章节。
在表单中新增一个字段,用于判断指定日期是否为工作日,并套用以下公式:
NETWORKDAYS(A3, A3, c_假日)(NETWORKDAYS 函数详细说明请参阅此章节。)
A3:为日期字段(例如“加班日”)
c_假日:为步骤一设置的全域常量
此公式透过计算“起始日与结束日为同一天”的工作日天数,来判断该日期是否为工作日。若该日期不在周末或假日清单中,则回传 1;若为周末或假日,则回传 0,并可作为后续 IF 函数条件判断的依据。

在表单中可运用 IF 函数判断是否为工作日,并据此套用不同的计算条件。
举例来说,在加班单中,可先透过步骤二判断“加班日期”是否为工作日,并搭配 IF 函数计算不同的加班薪资。
C3 为步骤二中 NETWORKDAYS 的判断结果字段,A6 为“源时薪”。当加班日期为工作日时,套用较低倍率(例如 1.33 倍);当为假日时,则套用较高倍率(例如 1.67 倍)。
可使用以下公式进行计算:
IF(C3=1, A6*1.33, A6*1.67)
就可以根据是否为工作日,自动套用不同的加班费倍率,并计算对应的加班薪资。
