2014-10-09 77 views
0

新列應該有yesnoExcel 2013中的時間約束函數

6:30前後15:00打印yes OW No
14:30之前和之後如果S2 23:00打印yes OW No
22:30之前如果S3和7:00後打印yes OW No

輸入如果S1如下所示

Shift as per roster | In-Time (hh:mm) | Out-Time (hh:mm) 
--------------------+-------------------+-------------------- 
S1     | 14:49    | 23:11 
S1     |     | 
S1     |     | 
S2     |     | 
WO     |     | 
WO     |     | 
S2     |     | 
S2     | 22:26    | 21:40 
S2     | 7:01    | 7:07 
S2     | 20:38    | 7:16 
S2     | 5:05    | 7:16 
WO     |     | 
WO     | 14:28    | 21:41 
S2     | 14:27    | 23:09 
S2     | 14:09    | 23:06 
S2     |     | 
S2     | 7:07    | 19:00 
S2     |     | 
WO     | 22:27    | 22:30 
WO     | 7:09    | 22:22 
CO     | 7:08    | 7:09 
S3     |     | 21:36 
S3     | 19:42    | 7:09 
S3     | 20:54    | 7:08 
S3     | 7:08    | 
WS2     | 6:23    | 15:16 
WS2     | 6:27    | 15:26 
WO     | 6:22    | 15:10 
WO     |     | 
S2     |     | 
S2     |     | 

回答

0

在您的新列使用這個公式:
(如果「單位面積的變化」在B列中,將它添加到第2行)

=IF(AND(TIMEVALUE(IF(B2="S1";"6:30";IF(B2="S2";"14:30";IF(B2="S3";"22:30"))))>C2;TIMEVALUE(IF(B2="S1";"15:00";IF(B2="S2";"23:00";IF(B2="S3";"07:30"))))<D2);"Yes";"No") 

但是,這是非常靜態的,所以我建議您與您的數據添加其他表(Sheet2的一樣):

[Sheet2]開始數據A1

Shift | before Time | after Time 
------+-------------+------------------- 
S1 | 6:30  | 15:00 
S2 | 14:30  | 23:00 
S3 | 22:30  | 7:00 

並使用此公式替代之前的:

=IF(AND(VLOOKUP(B2;Sheet2!A:C;2;FALSE)>C4;VLOOKUP(B2;Sheet!A:C;3;FALSE)<D4);"Yes";"No")