Excel表格时间公式 - Excel 表格时间计算公式全攻略

从零掌握时间处理核心逻辑:文本转换、跨天计算、工作日统计、时间差分析……
附50+真实案例与操作步骤,解决你所有关于Excel表格时间公式的困惑。

立即学习时间公式技巧 →

为什么你需要认真学Excel表格时间计算公式

在职场中,时间数据处理错误可能导致排班混乱、项目延期、工资计算失误……一个微小的公式偏差,可能引发连锁反应。

许多用户面对Excel表格时间公式时第一反应是“复制模板”或“手动计算”,结果发现:

实际上,时间在Excel中本质是数字,理解这一核心逻辑,就能轻松驾驭所有时间运算。

时间的本质:理解Excel的“时间数字”体系

在Excel中,日期与时间统一存储为序列号,这是所有公式计算的基石。

核心原理:时间 = 小于1的十进制数

Excel将1900年1月1日定义为序列号 1,之后每天递增1;时间部分则以“一天的分数”表示:

  • 0.5 = 12:00(中午)
  • 0.25 = 06:00(上午6点)
  • 0.75 = 18:00(下午6点)
  • 1.25 = 1900年1月2日 06:00

因此,2023-10-15 14:30 实际存储为约 45214.6041666667

⚠️ 常见误区:直接输入“10:30”看似正确,但若单元格格式为“常规”,Excel可能将其识别为文本,导致无法参与运算。

? 文本转时间的5种正确方式

当时间以文本形式存在(如“2023-10-01 09:00”),必须先转换为数值格式:

方法1:数据 → 分列(推荐新手)

选中时间列 → 【数据】→【分列】→ 选择“分隔符号”→ 勾选“空格”→ 下一步 → 完成。

操作后,日期和时间将自动拆分为两列,再合并为标准日期时间格式。

原始数据:A2 = "2023-10-01 09:00"
操作后:A2 = 2023/10/1 9:00(可参与计算)

方法2:VALUE函数 + 文本拼接

适用于格式统一的文本时间:

=VALUE(SUBSTITUTE(A2," ","T"))
=VALUE("2023-10-01T09:00") → 返回序列号45214.375

注意:需确保系统区域设置支持ISO 8601格式(T分隔符)。

方法3:DATE + TIME组合转换

当时间文本含横杠时,拆分年月日时分:

=DATE(LEFT(A2,4),MID(A2,6,2),MID(A2,9,2)) +
  TIME(MID(A2,12,2),MID(A2,15,2),0)

适用于“YYYY-MM-DD HH:MM”格式,返回精确序列号。

方法4:TEXT函数重格式化

先用TEXT标准化格式,再转数值:

=VALUE(TEXT(A2,"yyyy-mm-dd hh:mm"))

注意:此法依赖系统区域设置,跨环境可能失效。

方法5:Power Query(批量处理)

数据 → 从表/区域 → 选中列 → 右键 → 【更改为类型】→ 选择“日期时间”。

适合处理上万行数据,自动识别多种时间格式。

⏰ 时间加法:为何“10号+15号≠25号”?

直接相加日期会出错!原因在于Excel将日期视为整数,但时间部分未考虑。

✅ 正确逻辑:日期 + 时间 = 序列号相加

例如:A2 = 2023-10-10(序列号45214),B2 = 0.6(14:24),则:

=A2 + B2 → 结果为 2023-10-10 14:24

但若B2是“15:00”文本,则需先转数值:

=A2 + VALUE(B2) 或 =A2 + TIME(15,0,0)

错误做法:=A2 + B2(B2为文本时返回#VALUE!)

? 跨天计算:工作日与自然日的区别

计算从2023-10-10 08:00 到 2023-10-15 18:00 的总时间:

项目 自然日算法 工作日算法(排除周末)
起始时间 2023-10-10 08:00 2023-10-10 08:00
结束时间 2023-10-15 18:00 2023-10-15 18:00
总时长(小时) 130小时 86小时(排除10/14-10/15周末)
工作日数 5天 4天(10/10-10/13)

关键函数:NETWORKDAYS(自动排除周六日)和NETWORKDAYS.INTL(可自定义休息日)。

? 提示:2023年10月14-15日为周六日,故工作日仅4天(10/10周一至10/13周四)。

大核心函数详解:从基础到进阶

TIME(hour, minute, second)

将时、分、秒转换为Excel可识别的时间序列号。

=TIME(9,30,0) → 返回0.395833(即9:30)
=TIME(25,0,0) → 返回1.041667(即25:00 = 1天1小时)

✅ 实用技巧:动态时间计算

计算明天9点:

=TODAY() + 1 + TIME(9,0,0)

TEXT(value, format_text)

将数值转换为指定格式的文本(注意:结果不可再计算!)。

=TEXT(NOW(),"yyyy-mm-dd hh:mm:ss") → "2024-06-15 14:30:22"
=TEXT(A2,"[h]:mm") → 显示总小时分钟(如125:30)

⚠️ 注意事项

TEXT函数会“冻结”时间,后续无法再用于加减运算。若需保留计算能力,请用DATE/VALUE等函数。

DATEDIF(start_date, end_date, unit)

计算两日期差(隐藏函数,但极其稳定)。

单位代码 含义 示例(A2=2023-10-10, B2=2023-10-15)
"Y" 整年数 =DATEDIF(A2,B2,"Y") → 0
"M" 整月数 =DATEDIF(A2,B2,"M") → 0
"D" 整天数 =DATEDIF(A2,B2,"D") → 5
"MD" 忽略月年,仅日差 =DATEDIF(A2,B2,"MD") → 5
"YM" 忽略年,仅月差 =DATEDIF(A2,B2,"YM") → 0
"YD" 忽略年,仅日差(按年) =DATEDIF(A2,B2,"YD") → 5
? 重要提示:DATEDIF不支持直接计算时间差!需配合DATE函数处理日期+时间组合。

NETWORKDAYS(start_date, end_date, [holidays])

计算两日期间的工作日天数(自动排除周六日)。

=NETWORKDAYS("2023-10-10","2023-10-15") → 4(10/10周一至10/13周四)

添加自定义节假日:

=NETWORKDAYS(A2,B2,{"2023-10-12","2023-10-14"}) → 3(排除周末+国庆调休)

EDATE(start_date, months)

返回某日期前/后指定月份数的日期(自动处理月末溢出)。

=EDATE("2023-01-31",1) → 2023-02-28
=EDATE("2023-01-31",2) → 2023-03-31

适合计算合同到期日、工资发放日等。

EOMONTH(start_date, months)

返回某日期前/后指定月的最后一天。

=EOMONTH("2023-02-15",0) → 2023-02-28
=EOMONTH("2023-02-15",1) → 2023-03-31

典型用途:财务月结日、发票截止日计算。

WORKDAY(start_date, days, [holidays])

返回某日期前/后指定工作日的日期(排除周末+节假日)。

=WORKDAY("2023-10-10",5) → 2023-10-17(跳过10/14-10/15周末)

与EDATE对比:

  • EDATE:按自然月推进(固定日)
  • WORKDAY:按工作日推进(灵活跳过休息日)

⏱️ 时间差计算:精准到秒的7种场景

假设A2=2023-10-10 09:00,B2=2023-10-15 18:30,求时间差:

需求 公式 结果
总小时数(含跨天) =(B2-A2)24 129.5
总分钟数 =(B2-A2)1440 7770
总秒数 =(B2-A2)86400 466200
工作日数(排除周末) =NETWORKDAYS(A2,B2)-1 + MOD(B2,1)-MOD(A2,1) 4.3958(4天9.5小时)
仅工作时间(8:00-18:00) =SUMPRODUCT((WEEKDAY(ROW(INDIRECT(TEXT(A2,"yyyy-mm-dd")&":"&TEXT(B2,"yyyy-mm-dd"))),2)<6)(ROW(INDIRECT(TEXT(A2,"yyyy-mm-dd")&":"&TEXT(B2,"yyyy-mm-dd")))>=A2)(ROW(INDIRECT(TEXT(A2,"yyyy-mm-dd")&":"&TEXT(B2,"yyyy-mm-dd")))<=B2)) 40小时(需辅助列)
跨午夜小时数 =SUMPRODUCT((MOD(ROW(INDIRECT(TEXT(INT(A2),"yyyy-mm-dd")&":"&TEXT(INT(B2),"yyyy-mm-dd"))),1)>=0.5)(MOD(ROW(INDIRECT(TEXT(INT(A2),"yyyy-mm-dd")&":"&TEXT(INT(B2),"yyyy-mm-dd"))),1)<1)) 10(10/10晚10点-12点+10/11-14晚共10晚)
格式化显示(X天Y小时Z分) =INT(B2-A2)&"天"&INT(MOD(B2-A2,1)24)&"小时"&INT(MOD(B2-A2,1)1440%%60)&"分" 5天9小时30分
? 重要提示:公式中使用MOD(B2-A2,1)可提取时间部分(小数部分),避免日期干扰。

实战案例:从排班到工资计算

案例1:员工排班表(自动计算工时)

某公司排班规则:早班8:00-16:00,晚班16:00-24:00,夜班0:00-8:00,跨夜班需扣除1小时休息。

数据结构

姓名 日期 班次 开始时间 结束时间 实际工时
张三 2023-10-10 晚班 16:00 24:00 7.5
李四 2023-10-11 夜班 00:00 08:00 7.0
实际工时列公式:
=IF(AND(B2="晚班",E2-D2<0),E2-D2+1-0.041667,
  IF(AND(B2="夜班",E2-D2<0),E2-D2+1-0.041667,
    E2-D2))

说明:0.041667 = 1小时(1/24),跨天时差为负值需+1天。

案例2:项目工期计算(排除节假日)

项目A:2023-10-10启动,计划工期20工作日,国庆假期10/1-10/7。

解决方案

使用WORKDAY.INTL自定义休息日(含周末+国庆):

=WORKDAY.INTL(A2,20,"1111100",{DATE(2023,10,1),DATE(2023,10,2),DATE(2023,10,3),DATE(2023,10,4),DATE(2023,10,5),DATE(2023,10,6),DATE(2023,10,7)})

结果:2023-10-26(跳过10/1-10/7假期+周末)

案例3:工资条中的加班费计算

规则:工作日加班1.5倍,周末2倍,法定假日3倍。

数据示例

姓名 日期 工时 加班类型 加班费(元)
王五 2023-10-14 3.5 周末 =IF(WEEKDAY(A2,2)>5,C21002,0)
王五 2023-10-15 2.0 法定假日 =IF(WEEKDAY(A2,2)=7,C21003,0)

说明:WEEKDAY(...,2)中周日=7,周末=6/7;100为小时工资。

? 高级技巧:动态时间轴图表

用条件格式+数据验证制作可交互的时间线:

操作步骤

  1. 创建时间序列(A列:2023-10-01 至 2023-10-31)
  2. 用公式计算每日工时:=SUMIFS(工时表!D:D,日期列,A2)
  3. 插入柱形图 → 设置X轴为日期 → 添加动态筛选器(数据验证)

效果:点击下拉框可切换部门/项目,实时更新时间分布图。

网友最常问的10个问题(Q&A)

Q1:为什么我输入“10:30”后变成“10:30 AM”或“10:30:00”?

这是Excel的自动格式识别。若需显示为“10:30”,右键单元格 → 【设置单元格格式】→ 自定义 → 输入“hh:mm”。

Q2:TIME函数报错“#VALUE!”?

检查参数是否为数字:TIME("9","30",0)会失败,必须TIME(9,30,0)。

Q3:如何计算跨月工时?

直接用结束时间-开始时间即可,Excel自动处理跨月逻辑。例如:=DATE(2023,10,31,23,0,0) - DATE(2023,10,30,22,0,0) = 1.041667(25小时)。

Q4:如何统计某月总工时?

用SUMIFS:=SUMIFS(D:D, A:A, ">=2023-10-01", A:A, "<2023-11-01")(A列日期,D列工时)。

Q5:为什么NETWORKDAYS结果比预期少1天?

NETWORKDAYS包含起始日和结束日。若只算“工作天数”,需减1:=NETWORKDAYS(A2,B2)-1

Q6:如何计算两时间差的“人名时”?

公式:=INT((B2-A2)24) & "人时" & INT(MOD((B2-A2)24,1)60) & "人分",结果如“5人时30人分”。

Q7:如何避免周末计算?

用WORKDAY或NETWORKDAYS,或手动判断:=IF(WEEKDAY(A2,2)>5,"周末",A2)

Q8:时间文本含中文“时”“分”如何处理?

用SUBSTITUTE清理:=VALUE(SUBSTITUTE(SUBSTITUTE(A2,"时",":"),"分",""))

Q9:如何显示“X天Y小时Z分”格式?

组合公式:=INT(B2-A2)&"天"&INT(MOD(B2-A2,1)24)&"小时"&INT(MOD(B2-A2,1)1440%%60)&"分"

Q10:为什么结果显示“#####”?

列宽不足!双击列标右侧边框自动调整,或右键列 → 列宽 → 输入10以上数值。

◆ 最新
方程公式求根公式-一元二次方程根缩量选股公式-缩量选股公式数学方程式公式法-数学公式解法四格魔方公式教程-四格魔方公式教程公路路基土石方计算公式-公路路基土石方公式圆台公式体积公式-圆台体积计算公式方程根求解公式-方程根求解公式偿债备付率计算公式-偿债备付率计算公式万娘娘万能口语公式-万能口语公式万娘娘油价计算公式口诀-油价计算口诀写论文怎么引用公式-论文公式引用指南找次品的规律公式-找次品规律公式银行固定利息计算公式-银行固定利息计算公式数值计算平方根法公式-数值计算平方根法公式资金流指标公式-资金流指标公式赵轩趋势稳赢选股公式-赵轩趋势稳赢公式成本公式和利润公式-成本与利润计算公式椭圆公式推导-椭圆公式简化女生公式头像唯美加拿大28算大小公式-加拿大 28 大小计算微分方程特征公式-微分方程特征公式excel 乘法公式快捷键-Excel 乘法公式速记excel变异系数函数公式-EXCEL 变异系数公式明天会涨停公式-明日涨停速算公式纯利润的计算公式-纯利润计算公式库存出入库明细表公式-库存出入库明细表公式小学数学公式大全100例-小学数学公式一百例期限公式-期限计算公式mt4摇钱树指标公式-MT4 摇钱树指标高中几何图形公式大全-高中几何公式汇总牛顿第三运动定律公式-牛顿第三定律公式利率和费率计算公式-利率费率计算平均速度的公式高一-平均速度公式高一圆的重量公式-圆面积,重量快算生产日报表的公式-生产日报表计算公式阳2高选股公式-阳 2 高选股公式身体指数bmi的标准计算公式-BMI 计算公式标准二元一次方程解的公式-二元一次方程解法导数除法公式的单调性-导数除法公式单调性分析税前经营利润公式-税前经营利润公式大机构仓位指标公式-机构仓位动态公式彩箱计算公式-彩箱计算公式公式相声商演门票-商演门票公式相声传动比计算公式-传动比计算公式扇形面积计算公式高中-扇形面积公式高中扇形周长或面积公式-扇形周长面积公式物理摩擦力的公式-物理摩擦力计算公式功率公式表-功率公式表打折销售问题公式-打折销售公式问题股票补仓计算公式-股票补仓计算公式mathtype公式对齐-数学公式自动对齐营销费效计算公式-营销费效计算公式方锥形体积公式-方锥体积计算公式边际效用公式计算方法-边际效用计算方法不定积分的计算公式-不定积分计算公式标准差方差的计算公式-标准差方差计算公式误差传递公式运用-误差传递公式应用魔方还原教程万能公式-魔方还原万能公式分分彩打法公式-分彩公式大全分享线性代数公式-线性代数核心公式毛利占比怎么计算公式-毛利占比计算公式存款加权平均利率公式-存款加权平均利率公式分部积分公式的证明-分部积分公式证明破解平码三中三公式表-三公式表平码破解精准抄底公式-精准抄底计算公式uit推导公式-除法推导公式现值指数计算公式-现值指数计算公式快递运费计算求和公式-快递运费求和公式长期负债总额计算公式-长期负债总额计算公式乙烯价格计算公式-乙烯价格计算公式税费计算公式完整版-税费计算公式完整版主力资金公式指标-主力资金公式指标柱体体积公式是多少-柱体体积计算公式数学销售公式-数学销售公式电路基础公式总结-电路公式基础总结净资产利润率公式-净资产利润率公式双色球一等奖计算公式-双色球一等奖公式世界时间换算公式-世界时间换算公式高中物理必修一公式大全-高中物理必修一公式汇总椭圆形水罐容积计算公式-椭圆水罐容积公式capital公式-资本计算公式主力买卖指标公式-主力买卖指标公式黑马必抓指标公式-黑马必抓指标公式不锈钢圆钢的重量计算公式表-不锈钢圆钢重量计算表公式excel公式编辑器-Excel 公式编辑器拆分excel单元格内容公式百分之几怎么计算公式-百分之几计算公式标准离差公式-标准离差计算公式魔方教程公式口诀简单动态市盈率指标显示公式-动态市盈率显示公式计算排卵期的公式-计算排卵期公式经纬度格式转换公式-经纬度转换计算公式两阳夹一阴公式立方根公式大全讲解-立方根公式详解拓展扩张因子公式-扩张因子公式热功率计算公式是什么-热功率计算公式扇形面积公式弧长公式-扇形与弧长公式向量基本定理公式香港精准三肖中特公式-香港精准三肖中特公式
瑞秋资讯
蜀ICP备2026006976号-18