我有格式化的這樣的時刻數據的列移位:hh:mm:ss
使用公式來確定來自時間數據
我想使返回的IF語句1,2或3對應於第一,第二或第三變速如果時間落在某些值之間。
=IF(AND(E50>8,0,0,E50<16,0,0),"First",(IF(AND(E50>=16,0,0,E50<24,0,0), "Second", "Third")))
這就是它現在的樣子,但它不起作用。
我有格式化的這樣的時刻數據的列移位:hh:mm:ss
使用公式來確定來自時間數據
我想使返回的IF語句1,2或3對應於第一,第二或第三變速如果時間落在某些值之間。
=IF(AND(E50>8,0,0,E50<16,0,0),"First",(IF(AND(E50>=16,0,0,E50<24,0,0), "Second", "Third")))
這就是它現在的樣子,但它不起作用。
作爲短公式:
=CHOOSE(INT(1+MOD(E50,1)*3),"Third","First","Second")
將
做你想做的事。
如果時間
=CHOOSE(INT(1+E50*3),"Third","First","Second")
也將這樣做的時間(不包含日期),然後。
而且這個公式應該是非常快;)
編輯
使之完全 「變量」 你需要像這樣(的時間表是在I51:J53 ascendenting順序):
=INDEX($J$51:$J$53,COUNTIF($I$51:$I$53,"<="&MOD(E50,1))+IF(COUNTIF($I$51:$I$53,">"&MOD(E50,1))=3,3))
它應該是這樣的:
注意:如果分手了,從晚上12點之前去過去的0:00所以表看起來像移位:
12:00 AM | Third
06:01 AM | First
12:22 PM | Second
10:54 PM | Third
,那麼你可以跳過公式:
=INDEX($J$51:$J$54,COUNTIF($I$51:$I$54,"<="&MOD(E50,1)))
因爲+IF(COUNTIF($I$51:$I$53,">"&MOD(E50,1))=3,3)
只爲案件沒有被發現(這將是最後一次移位)...
補貨!我花時間包括一張圖片! – Jeeped
這有效,但你能解釋它是如何做到的,我有點驚訝。 –
@Jeeped一個鏈接...和一個描述; P ...仍然,理論上我們都是錯誤的......第一個轉變在** 8和16之間下降......這不包括8和16本身.. (MOD(E50,1)> = 2/3,「Second」,IF(MOD(E50,1)> 1/3,「First」,「Third」 ))'是正確的... –
我發現這是時間轉換成3班的最簡單方法。加1允許excel在午夜00:59返回0.(因此在下面的公式中,選擇函數的前六個結果是"C"
,指的是夜班,然後在早上6點,班次變爲"A"
白班。在"R3"
是我有時間的單元格。
=CHOOSE(HOUR(R3)+1, "C", "C", "C", "C","C","C", "A", "A", "A", "A", "A", "A", "A","A","B","B","B","B","B","B","B","B","C","C")
這也行得通,如果我的班次開始時間不是正好8點,而是更像7:10:00 A.M.到下午3點10分或7:10:00至15:10:00 –
@ J.A。只需更改我從公式中借用的公式中的8/16/24即可。 – Chrismas007
'HOUR(E50)> 8'是'HOUR(E50)> = 8'嗎?是否需要「小時(E50)<24」? – Jeeped