Excel 时间函数 #
函数概览 #
时间函数用于处理和计算时间数据,是考勤管理、工时计算的重要工具。
text
┌─────────────────────────────────────────────────────────────┐
│ 时间函数一览 │
├─────────────────────────────────────────────────────────────┤
│ │
│ HOUR 提取小时 =HOUR("14:30:25") → 14 │
│ MINUTE 提取分钟 =MINUTE("14:30:25") → 30 │
│ SECOND 提取秒数 =SECOND("14:30:25") → 25 │
│ TIME 创建时间 =TIME(14, 30, 25) → 14:30:25 │
│ TIMEVALUE 文本转时间 =TIMEVALUE("14:30") → 0.604167 │
│ │
└─────────────────────────────────────────────────────────────┘
Excel 时间系统 #
时间序列号 #
Excel 将时间存储为 0 到 1 之间的小数:
text
00:00:00 = 0
06:00:00 = 0.25
12:00:00 = 0.5
18:00:00 = 0.75
23:59:59 = 0.999988
日期时间组合 #
excel
日期 + 时间 = 完整时间戳
2024/1/15 + 14:30 = 45292.604167
时间格式代码 #
text
h 小时(0-23)
hh 小时(00-23)
m 分钟(0-59)
mm 分钟(00-59)
s 秒(0-59)
ss 秒(00-59)
AM/PM 上午/下午
HOUR 函数 #
语法 #
excel
=HOUR(time)
返回时间的小时数(0-23)
基本用法 #
excel
=HOUR("14:30:25") → 14
=HOUR(TIME(8, 30, 0)) → 8
=HOUR(NOW()) → 当前小时
=HOUR(0.5) → 12(0.5 = 中午12点)
实际应用 #
excel
判断上午下午:
=IF(HOUR(A1)<12, "上午", "下午")
判断班次:
=IF(HOUR(A1)<8, "早班", IF(HOUR(A1)<16, "中班", "晚班"))
计算小时差:
=HOUR(B1-A1)
实际示例 #
text
考勤班次:
A B
1 打卡时间 班次
2 7:30 =IF(HOUR(A2)<8, "早班", IF(HOUR(A2)<16, "中班", "晚班"))
→ "早班"
MINUTE 函数 #
语法 #
excel
=MINUTE(time)
返回时间的分钟数(0-59)
基本用法 #
excel
=MINUTE("14:30:25") → 30
=MINUTE(TIME(8, 45, 0)) → 45
=MINUTE(NOW()) → 当前分钟
实际应用 #
excel
四舍五入到整点:
=TIME(HOUR(A1), 0, 0)
四舍五入到15分钟:
=TIME(HOUR(A1), ROUND(MINUTE(A1)/15, 0)*15, 0)
计算分钟差:
=MINUTE(B1-A1)
SECOND 函数 #
语法 #
excel
=SECOND(time)
返回时间的秒数(0-59)
基本用法 #
excel
=SECOND("14:30:25") → 25
=SECOND(TIME(8, 30, 45)) → 45
=SECOND(NOW()) → 当前秒数
实际应用 #
excel
四舍五入到整分钟:
=TIME(HOUR(A1), MINUTE(A1), 0)
精确时间戳:
=TEXT(NOW(), "hh:mm:ss")
TIME 函数 #
语法 #
excel
=TIME(hour, minute, second)
参数:
- hour: 小时(0-32767)
- minute: 分钟(0-32767)
- second: 秒(0-32767)
基本用法 #
excel
=TIME(14, 30, 25) → 14:30:25
=TIME(8, 0, 0) → 8:00:00
=TIME(25, 0, 0) → 1:00:00(自动进位)
=TIME(0, 90, 0) → 1:30:00(自动进位)
实际应用 #
excel
从时分秒字段组合时间:
=TIME(A1, B1, C1)
创建固定时间:
=TIME(9, 0, 0) 上班时间
=TIME(18, 0, 0) 下班时间
时间加减:
=A1 + TIME(1, 30, 0) 加1小时30分钟
=A1 - TIME(0, 30, 0) 减30分钟
实际示例 #
text
从分离字段创建时间:
A B C D
1 时 分 秒 时间
2 14 30 25 =TIME(A2, B2, C2) → 14:30:25
TIMEVALUE 函数 #
语法 #
excel
=TIMEVALUE(time_text)
将文本格式的时间转换为时间序列号
基本用法 #
excel
=TIMEVALUE("14:30") → 0.604167
=TIMEVALUE("2:30 PM") → 0.604167
=TIMEVALUE("14:30:25") → 0.604456
实际应用 #
excel
文本时间转数值:
=TIMEVALUE(A1)
提取文本中的时间:
=TIMEVALUE(MID(A1, FIND(" ", A1)+1, LEN(A1)))
时间比较:
=TIMEVALUE(A1) > TIMEVALUE("12:00")
注意事项 #
excel
TIMEVALUE 只能处理纯时间文本
如果包含日期部分,需要先提取时间
错误示例:
=TIMEVALUE("2024/1/15 14:30") → #VALUE!
正确做法:
=TIMEVALUE(MID(A1, FIND(" ", A1)+1, LEN(A1)))
时间计算 #
时间加减 #
excel
加1小时:
=A1 + TIME(1, 0, 0)
=A1 + 1/24
加30分钟:
=A1 + TIME(0, 30, 0)
=A1 + 1/48
加1分钟:
=A1 + TIME(0, 1, 0)
=A1 + 1/1440
时间差计算 #
excel
简单时间差:
=B1-A1
显示为小时:
=(B1-A1)*24
显示为分钟:
=(B1-A1)*24*60
显示为小时:分钟:
=TEXT(B1-A1, "h:mm")
跨天时间计算 #
excel
如果结束时间小于开始时间,表示跨天:
=IF(B1<A1, 1+B1-A1, B1-A1)
或:
=MOD(B1-A1, 1)
实际示例 #
text
工时计算:
A B C
1 开始时间 结束时间 工时(小时)
2 9:00 18:00 =(B2-A2)*24 → 9
3 22:00 6:00 =MOD(B3-A3, 1)*24 → 8
函数组合应用 #
计算总工时 #
excel
=TEXT(B1-A1, "h:mm")
或显示为小数:
=(B1-A1)*24
或显示为小时和分钟:
=INT((B1-A1)*24) & "小时" & MINUTE(B1-A1) & "分钟"
时间四舍五入 #
excel
四舍五入到15分钟:
=MROUND(A1, TIME(0, 15, 0))
向上舍入到15分钟:
=CEILING(A1, TIME(0, 15, 0))
向下舍入到15分钟:
=FLOOR(A1, TIME(0, 15, 0))
判断时间段 #
excel
判断是否在工作时间(9:00-18:00):
=AND(A1>=TIME(9,0,0), A1<=TIME(18,0,0))
判断是否在午休时间(12:00-13:00):
=AND(A1>=TIME(12,0,0), A1<=TIME(13,0,0))
计算加班时间 #
excel
假设标准工作时间为8小时:
=MAX(0, (B1-A1)*24-8)
或考虑午休:
=MAX(0, (B1-A1-TIME(1,0,0))*24-8)
实战案例 #
案例1:考勤计算 #
text
数据:
A B C D
1 上班时间 下班时间 工时 加班
2 9:00 18:30 =(B2-A2)*24 =MAX(0,C2-8)
→ 9.5 → 1.5
案例2:时段统计 #
text
数据:
A B
1 时间 时段
2 7:30 =IF(A2<TIME(12,0,0), "上午",
IF(A2<TIME(18,0,0), "下午", "晚上"))
→ "上午"
案例3:时间格式转换 #
text
数据:
A B
1 文本时间 标准时间
2 "14时30分" =TIMEVALUE(SUBSTITUTE(SUBSTITUTE(A2,"时",":"),"分",""))
→ 14:30
小结 #
时间函数是处理时间数据的核心工具:
| 函数 | 用途 | 示例 |
|---|---|---|
| HOUR | 提取小时 | =HOUR("14:30") |
| MINUTE | 提取分钟 | =MINUTE("14:30") |
| SECOND | 提取秒数 | =SECOND("14:30:25") |
| TIME | 创建时间 | =TIME(14, 30, 0) |
| TIMEVALUE | 文本转时间 | =TIMEVALUE("14:30") |
接下来,让我们学习 逻辑函数,掌握条件判断技巧。
最后更新:2026-04-11