今天來分享一個 Excel 網友的提問:如何在 Excel 中判斷某個時間是否落在特定的區間內,並根據判斷結果顯示預設的時間值或文字?
網友遇到的問題描述
如果 A1 的時間介於 早上 06:15 到 06:44 (含 06:15,不含 06:45) 之間,希望在另一個儲存格顯示固定的時間值:06:15。 如果 A1 的時間介於 06:45 到 07:15 (含 06:45,含 07:15) 之間,希望顯示固定的時間值:06:45。 如果時間不在上述任何一個區間內,則顯示 A1 原本的時間,或特定的文字(例如:「超過上班時間」)。
核心函數介紹
函數: 這個函數接受三個引數:小時 (Hour)、分鐘 (Minute) 和秒 (Second)。 它會返回一個代表該時間的 Excel 時間數值。 例如:TIME(6,15,0) 會返回 6:15:00 AM 的時間數值。TIME(6,45,0) 會返回 6:45:00 AM 的時間數值。TIME(7,15,0) 會返回 7:15:00 AM 的時間數值。
函數: 這個函數用於檢查多個條件。 只有當所有引數 (邏輯判斷) 都為 TRUE 時,AND 函數才返回 TRUE;否則,返回 FALSE。 在這個問題中,我們需要判斷時間是否同時滿足「大於等於某個時間」和「小於 (或小於等於) 另一個時間」這兩個條件,所以需要用到 AND。
函數: 這是最常用的邏輯函數。 它會先評估第一個引數 (邏輯判斷)。 如果邏輯判斷為 TRUE,則返回第二個引數的值。 如果邏輯判斷為 FALSE,則返回第三個引數的值。 當我們有多個時間區間需要判斷時,可以使用巢狀 IF (即在一個 IF 的 為 FALSE 時的值 中再嵌入另一個 IF)。
逐步建構公式
大於等於 06:15 的條件:A1 >= TIME(6,15,0) 小於 06:45 的條件:A1 < TIME(6,45,0) (注意是小於,這樣 06:44:59 會包含在內,而 06:45:00 就不會)
大於等於 06:45 的條件:A1 >= TIME(6,45,0) 小於等於 07:15 的條件:A1 <= TIME(7,15,0)
如果 A1 的時間在 06:15 到 06:45 之間(不含 06:45),則顯示 06:15。 否則 (如果不在第一個區間),再判斷 A1 的時間是否在 06:45 到 07:15 之間(含 06:45 和 07:15)。如果滿足,則顯示 06:45。 否則 (如果兩個區間都不滿足),則顯示 A1 原本的時間。
如果 A1 是空白,則顯示空白 ("")。 否則 (如果 A1 有時間),進行後面的區間判斷。 區間判斷邏輯同上。 最後,如果兩個區間都不滿足,則顯示文字「超過上班時間」。
實際測試
A1 輸入 6:15 -> B1 顯示 6:15 A1 輸入 6:30 -> B1 顯示 6:15 A1 輸入 6:44 -> B1 顯示 6:15 A1 輸入 6:45 -> B1 顯示 6:45 A1 輸入 7:00 -> B1 顯示 6:45 A1 輸入 7:15 -> B1 顯示 6:45 A1 輸入 7:16 -> B1 顯示 A1 原本的時間 或「超過上班時間」(取決於您使用的最後一個公式版本) A1 清空 -> B1 顯示空白(如果您使用了最後一個公式版本)
小提示
建構複雜公式的技巧: 影片中站長示範了一個很好的技巧:先分開寫好各個 AND 判斷式,以及 TIME 的返回值,確認它們獨立工作正常後,再將它們剪下貼上組合到 IF 函數中。這可以大大降低公式出錯的機率。 儲存格格式: 包含 TIME 函數的儲存格如果想正確顯示時間,請務必將其儲存格格式設定為「時間」。如果公式的最後結果是文字(例如「超過上班時間」),則格式設定為「文字」或「一般」即可。
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。