簡體   English   中英

EXCEL:確定Excel中日期是“營業時間”還是“營業時間”還是“周末”的公式

[英]EXCEL: Formula to Determine whether a date is “within Business Hours” or “Outside Business Hours” or “Weekend” in excel

嘗試為SLA報告創建公式,以顯示代理是否在SLA中確認分配。

我在其他帖子之一中找到了一個公式來顯示辦公時間是從

Mon-Fri ONLY from 8-5:30pm

我想排除晚上,周末和節假日。

是否可以說“下班后”,“周末”或“假期”而不是使用INOUT

如何修改公式才能起作用? 我也嘗試過其他格式,但是那是一本小說的篇幅,沒有用。

=IF(AND(WEEKDAY(A2)>1,MOD(A2,1)*24>=8,MOD(A2,1)*24<=IF(WEEKDAY(A2)=7,14,20)
),"In","Out")

[7,14,20]節已替換為17:30(下午5:30)

A2=start time (DD/MM/YYYY HH:MM)
B2=end time

我建議您首先將數據和條件放入表中,這將使組織,引用和更新更加容易。 要快速執行此操作,請突出顯示您的范圍,然后按Ctrl +T。這將為表設計打開一個新的功能區選項卡,您可以為表命名。 我更喜歡以t_開頭所有表名。 在下面的示例中,有三個表:

1)t_BusinessHours 2)t_Holidays 3)t_Data_AcknowledgmentTimes

在此處輸入圖片說明

在此處輸入圖片說明

為了獲得所需的結果,您將需要幾個嵌套的公式。 我將它們分解,以便您可以看到每個部分的功能。 然后將它們合並為一個結果列。 如您所見,當數據位於表中時,您可以使用表名和列標題而不是列字母/行號輕松引用所需的部分。

在此處輸入圖片說明

開放時間之后?

=IF(TIME(HOUR(A2),MINUTE(A2),0)>=MIN(t_BusinessHours[Time]),"After Open","Before Open")

關閉時間之前?

=IF(TIME(HOUR(A2),MINUTE(A2),0)<MAX(t_BusinessHours[Time]),"Before Close","After Close")

周末?

=IF(ISNUMBER(WEEKDAY(A2,2))>5,"Weekend","Weekday")

假日?

=IF(COUNTIF(t_Holidays,EDATE(A2,0))>0,"Holiday","Not Holiday")

放在一起(例如,請勿使用此-請使用下面的一個)

=IF(COUNTIF(t_Holidays,EDATE(A2,0))>0,"Holiday",
IF(ISNUMBER(WEEKDAY(A2,2))>5,"Weekend",
IF(AND(TIME(HOUR(A2),MINUTE(A2),0)<MIN(t_BusinessHours[Time]),
TIME(HOUR(A2),MINUTE(A2),0)>=MAX(t_BusinessHours[Time])),
"After Hours","During Business Hours")))

結果(以上公式中的A2替換為表格參考)

=IF(COUNTIF(t_Holidays,EDATE([@[Start Time]],0))>0,"Holiday",
IF(ISNUMBER(WEEKDAY([@[Start Time]],2))>5,"Weekend",
IF(AND(TIME(HOUR([@[Start Time]]),MINUTE([@[Start Time]]),0)<MIN(t_BusinessHours[Time]),
TIME(HOUR([@[Start Time]]),MINUTE([@[Start Time]]),0)>=MAX(t_BusinessHours[Time])),"After Hours","During Business Hours")))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM