EXCEL-时间函数

news/2025/3/14 19:46:26/文章来源:https://www.cnblogs.com/zktww/p/18768332

💖简介

Excel中,时间函数用于处理和操作日期和时间数据;
以下是Excel中常用的时间函数及其常见应用场景的总结.


📖函数

时间函数基础

🌟TIME

  • 语法TIME(hour, minute, second)
  • 功能:将小时、分钟、秒转换为时间序列号(0到0.99999999之间的数值)。
  • 示例
    • TIME(9,30,0) 返回 0.3958333(对应 9:30:00)。
    • TIME(27,0,0) 等同于 TIME(3,0,0)(因为27小时除以24余3小时)。
  • 应用场景:手动输入或计算特定时间(如工作开始/结束时间)。

🌟NOW

  • 语法NOW()
  • 功能:返回当前日期和时间的序列号(精确到秒)。
  • 示例
    • 输入 =NOW() 即可显示当前时间(如 2025-03-12 16:45:56)。
  • 应用场景:实时记录操作时间或计算时间差。

🌟TODAY

  • 语法 :TODAY()
  • 功能:返回当前日期的序列号(不含时间)。
  • 示例
    • 输入 =TODAY() 显示 2025-03-12
  • 应用场景:自动更新日期(如统计距离某个事件的剩余天数)。

🌟HOUR/MINUTE/SECOND

  • 语法HOUR(time) / MINUTE(time) / SECOND(time)
  • 功能:分别提取时间中的小时、分钟、秒。
  • 示例
    • HOUR("16:45:56") 返回 16
  • 应用场景:分析时间分布(如统计每天的高峰时段)。

日期与时间的组合与拆分

🌟DATE

  • 语法DATE(year, month, day)
  • 功能:根据年、月、日生成日期序列号。
  • 示例
    • DATE(2025,3,12) 返回 2025-03-12
  • 应用场景:动态生成日期(如计算项目截止日期)。

🌟TIMEVALUE

  • 语法TIMEVALUE(text)
  • 功能:将文本格式的时间转换为序列号。
  • 示例
    • TIMEVALUE("4:20 PM") 返回 0.6770833(对应 16:20)。
  • 应用场景:转换非标准时间格式(如从文本导入的时间数据)。

🌟TEXT

  • 语法TEXT(time, "格式")
  • 功能:将时间序列号转换为指定格式的文本。
  • 示例
    • TEXT(NOW(), "hh:mm:ss") 显示 16:45:56
  • 应用场景:格式化时间显示(如报表中的时间格式统一)。

时间差与周期计算

🌟DATEDIF

  • 语法DATEDIF(start_date, end_date, unit)
  • 功能:计算两个日期之间的年、月、日差异(隐藏函数,需直接输入)。
  • 参数
    • unit: "Y"(年)、"M"(月)、"D"(日)、"MD"(日差忽略月年)、等。
  • 示例
    • DATEDIF(A1, B1, "Y") 计算A1到B1的年数差。
  • 应用场景:计算年龄、项目周期(如合同有效期)。

🌟WORKDAY

  • 语法WORKDAY(start_date, days, [holidays])
  • 功能:计算从开始日期工作若干天后(不含周末和节假日)的日期。
  • 示例
    • WORKDAY("2025-03-12", 5, E1:E5) 返回5个工作日后的日期(排除E1:E5中的节假日)。
  • 应用场景:项目进度管理(如确定任务截止日期)。

🌟WEEKNUM

  • 语法WEEKNUM(date, [return_type])
  • 功能:返回某日期是一年中的第几周。
  • 参数
    • return_type: 1(周日为第1天)、2(周一为第1天)。
  • 示例
    • WEEKNUM("2025-03-12", 2) 返回 11(假设2025年3月12日为第11周)。
  • 应用场景:统计周报或销售周数据。

🌟NETWORKDAYS

  • 语法NETWORKDAYS(start_date, end_date, [holidays])
  • 功能:计算两个日期之间的完整工作日数(排除周末和节假日)。
  • 示例
    • NETWORKDAYS("2025-01-01", "2025-01-10", E1:E5) 计算不含节假日的工作日数。
  • 应用场景:计算员工假期天数、项目工期。

常见时间问题与解决方案

  1. 问题:计算两个时间点的间隔(如工时)。

    • 解决
      • 公式:结束时间 - 开始时间,然后设置单元格格式为 [h]:mm
      • 示例:B2-A2(假设A2是9:00,B2是17:30)结果为 8.5 小时。
  2. 问题:时间跨过午夜(如23:00到次日2:00)。

    • 解决
      • 公式:=IF(B2>A2, B2-A2, B2+1-A2),再设置格式为 [h]:mm
  3. 问题:将时间转换为分钟数。

    • 解决
      • 公式:时间单元格 * 24 * 60
      • 示例:A2="16:45"A2*24*60 返回 1005 分钟。
  4. 问题:根据当前时间显示“上午/下午”或“工作时间状态”。

    • 解决
      • 使用 IFHOUR 函数:
        =IF(HOUR(NOW())<12, "上午", "下午")
        
      • 判断是否在工作时间:
        =IF(AND(HOUR(NOW())>=9, HOUR(NOW())<=18), "工作时间", "非工作时间")
        

💥高级场景应用

  1. 动态生成时间序列

    • 示例:生成每小时的时间点:
      • 在A1输入 0:00,A2输入 =A1+TIME(1,0,0),下拉填充即可生成 1:00, 2:00 等。
  2. 计算年龄

    • 公式
      =DATEDIF(BirthDate, TODAY(), "Y") & "岁 " & DATEDIF(BirthDate, TODAY(), "YM") & "个月"
      
  3. 处理带时间的日期

    • 提取日期部分=INT(A1)(A1为日期时间,返回日期序列号)。
    • 提取时间部分=A1 - INT(A1)(返回仅时间部分的序列号)。
  4. 将日期时间格式转换为目标格式

=IF(I4=0,"",TEXT((A1/1000+8*3600)/86400+70*365+19,"yyyy-mm-dd hh:mm:ss"))

注意事项

  1. 日期时间的存储:Excel将日期存储为序列号(如 2025-03-12 对应 44662),时间则为小数(如 16:45 对应 0.69907407)。
  2. 错误处理
    • 输入日期时避免文本格式(如 2025/03/12 可能被识别为文本)。
    • 使用 DATETIME 函数时,参数需为数值类型。
  3. 时区问题:若涉及不同时区,建议使用 UTCNOW()UTCTODAY()(需DAX函数支持)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/898831.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day29linux三剑客----sed

day29linux三剑客----sed单个正则字符还认识组合到一起就晕了,怎么办?本质还是对单个字符没理解.认识*认识.*组合到就一起就蒙了,为什么?还是没想明白.的意义,*的意义正则表达式,从左向右,逐步理解单个字符的意义怎么做? 1.思维脑图写没写? 2.每一个正则表达式的符号,…

3.14 学习记录

基于Android Studio 完成了简单的石家庄地铁购票APP

Android配置

将grade-wrapper.properties中地址改为 https://mirrors.cloud.tencent.com/gradle/gradle-8.11.1-bin.zip 等待下载。一般要几个小时。

sqlserver 的视图创建

首先,什么是视图?视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果,只存放视图的定义,不存放视图对应的数据; 其结构和和数据是建立在对表的查询基础上,故表中的数据发生变化,从视图中查询出的数据也随之改变…

day:21 python——判断语句

一.if语句 (1)单分支: 格式: if 判断条件: 执行语句块 else: 执行语句块2 备注:判断条件 if中可以使用比较运算符,<,!=,==,>=,<=在学习自动化中也可以用if语句断言, 案例1: a=10 if a != 10: print("你中奖了") else: print("谢谢惠顾"…

clickhouse 开启认证

配置文件说明 默认路径:/etc/clickhouse-server/users.xml 密码存储类型 明文密码(不推荐) <password>qwerty</password> <!-- 直接明文存储 --> SHA256 哈希 <password_sha256_hex>5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d15…

二分查找--java进阶day06

1.二分查找 https://kdocs.cn/l/ciMkwngvaWfz?linkname=150996908 二分查找:每一次查找都从中间的元素查起,根据比较的大小来折半,以此类推,直到最后找到该数2.二分查找的前提 确保查找的数组是排好序的数组,否则就会出错 如下图,假设我们要找的是200,箭头指向88,发现…

Fastjson 和Jackson 兼容性问题

起因是因为java类里面多层嵌套验证发现APIFOX调用接口验证无法生效 发现是因为没有赋值嵌套类 经过查看属性填充的源码,requestbody传参,用的是Fastjson的注解但是走到了AbstractJackson2HttpMessageConverter类的readJavaType方法 一查发现可能有不兼容的问题,Jackson 需要…

modelsim保存波形图为图片报错:image file format bmp is unknown

在波形窗口依次点击 File-->Export-->Image 如果版本低于2020.2,会报错:解决方案为: 在命令框输入:package require Img 解决方案来自Why cant I export the wave image in bmp format in the ModelSim-Intel FPGA Edition and Questa-Intel FPGA Edition simulator?…

第十二课(2024年)基准测试与评估

来看一下讲师认为的理想的开发过程Deploy的Absolute的意思:部署阶段的评测指标是绝对的,之前的阶段都是从若干个模型中选择最好的,但最后一个阶段就只剩下一个模型了,我们必须要让这个模型的准确率达到一个设定的绝对阈值 Publish的Standardized和Reproducible:标准化和可…

【向量模型】 开源通用向量模型BGE (BAAI General Embedding)

BGE(BAAI General Embedding)是北京智源人工智能研究院(BAAI)推出的开源文本向量模型, 专门用于将文本转换为高维向量表示(即 Embedding),其核心目标是提升文本检索、语义匹配等任务的性能。1. BGE 的核心特点 总结 BGE 是专为检索任务优化的开源 Embedding 模型,优…

根据前序遍历和后序遍历计数二叉树

我们知道,对于一个二叉树,如果我们我们知道他的前(或后)序遍历和中序遍历,那就可以直接构造还原出完整的二叉树。中序遍历很重要。 那么给定一个树的前序遍历和后序遍历,能不能构造出这个树呢?一般是不行的,参考往期文章 https://www.cnblogs.com/ofnoname/p/16864200.…