在 Excel 中處理時間資料時,常需要將完整時間拆解為時、分、秒三個部分。HOUR 函數能從時間值中擷取「小時」的部分(即 24 小時制的整數),適合用於排程分類、條件判斷、動態篩選與報表設計等場景。
🔹快速摘要(語法、用途、常見場景)
- 用途:從時間中擷取「小時」的數值(0–23)
- 語法:
=HOUR(時間值) - 常見場景:時間拆解、排程分類、報表設計、條件判斷、動態篩選
一、HOUR 函數語法與用途
語法說明:
=HOUR(serial_number)
- serial_number:有效的時間值,可為時間儲存格、時間函數或文字型時間
- 回傳結果為該時間的「小時」部分(0–23)
=HOUR("16:48:00") 回傳 16。二、範例教學:五個基礎 + 五個進階範例
🔸基礎範例
範例一:擷取指定時間的小時
=HOUR("16:48:00")
回傳 16。
範例二:擷取儲存格中的時間小時
=HOUR(A1)
若 A1 為 08:30:00,回傳 8。
範例三:搭配 NOW 擷取目前小時
=HOUR(NOW())
回傳目前時間的小時。
範例四:搭配 TIME 建立完整時間
=TIME(HOUR(A1),0,0)
保留原小時,重建時間。
範例五:處理文字型時間
=HOUR(TIMEVALUE("20:15"))
回傳 20。
🔸進階範例
範例六:搭配 IF 判斷是否為上班時段
=IF(HOUR(A1)>=9,"上班時段","非上班")
用於排程分類。
範例七:搭配 TEXTJOIN 合併時間資訊
=TEXTJOIN("、", TRUE, "目前小時為", HOUR(A1))
輸出如「目前小時為、8」。
範例八:批次擷取整欄時間的小時(Excel 365)
=MAP(A2:A100, LAMBDA(x, HOUR(x)))
將 A2:A100 中每列時間轉為小時。
範例九:建立動態標記欄位
=IF(HOUR(A1)=0,"午夜","")
標記每日 00:00。
範例十:搭配 MOD 判斷是否為偶數小時
=IF(MOD(HOUR(A1),2)=0,"偶數時段","奇數時段")
用於時段分類。
三、常見問題解答(FAQ)
Q1:HOUR 可以處理文字型時間嗎?
可以,但建議搭配 TIMEVALUE 確保格式正確。
Q2:HOUR 回傳的是什麼格式?
回傳整數(0–23),代表時間中的「小時」。
Q3:HOUR 可以處理整欄資料嗎?
可以,搭配 MAP 或拖曳填滿即可批次處理。
Q4:HOUR 可以搭配哪些函數使用?
常見搭配 TIME、NOW、IF、TEXT、MAP、LAMBDA 等。
Q5:HOUR 可以處理日期時間嗎?
可以,會擷取時間部分的「小時」,忽略日期。
四、注意事項與錯誤排除
- 若輸入非有效時間,會回傳
#VALUE! - 若輸入為空白儲存格,回傳
0或錯誤 - HOUR 只擷取「小時」,不含分鐘或秒數
- 適用於排程分類、條件判斷與報表設計
- 建議搭配錯誤防呆邏輯處理格式異常輸入
五、延伸技巧與相關函數
1. TIME 函數 與 HOUR 的連動應用:可用 HOUR 擷取小時後重建時間,例如 TIME(HOUR(A1),0,0)。
2. NOW 函數 與 HOUR 的連動應用:可擷取目前的小時,例如 HOUR(NOW())。
3. IF 函數 與 HOUR 的連動應用:可根據小時進行分類,例如 IF(HOUR(A1)>=9,"上班","休息")。
4. TEXT 函數 與 HOUR 的連動應用:可將小時轉為文字輸出,例如 TEXT(A1,"hh")。
5. MAP / LAMBDA 函數 與 HOUR 的連動應用:可批次擷取整欄時間的小時,例如 MAP(A2:A100, LAMBDA(x, HOUR(x)))。
這些函數能與 HOUR 組合成一套完整的「時間拆解 → 條件分類 → 格式輸出 → 批次處理」流程,適用於報表設計、資料清理與欄位標示等場景。
六、結語與延伸閱讀推薦
HOUR 函數是 Excel 中專門處理時間拆解的基礎工具,適合用在排程分類、條件判斷、欄位標示與資料清理等情境。學會 HOUR 後,你可以進一步探索:
- [TIME 函數教學]:組合時、分、秒建立完整時間
- [NOW 函數教學]:取得目前時間並進行拆解
- [MAP 函數教學]:批次處理與格式比對的動態技巧




















