Excel 中高效率的日期数据整理方法分享
消息来源:baojiabao.com 作者: 发布时间:2024-11-02
原文标题:《比你笨法快 10 倍,这才是 Excel 中最牛的日期数据整理方法!》
在日常工作中,处理数据时除了查找、求和等之外,我们还会经常与日期数据打交道。
其中我们经常使用的函数,有 Date(合并日期)、Year(获取日期的年份)、Month(获取日期的月份)、Day(获取日期的天数)等等。
这不,最近朋友发来一个数据,是从系统里面导出来的。如下图:
该系统自动将日期与型号混在一起,现在需要将其中的日期提取出来。
提取规则是:
❶ 前三个字符代表的是月份数。
❷ 第 5 和第 6 个字符代表两位年份数。
❸ 第 7 和第 8 个字符代表两位天数。
提取结果如下图:
也就是将英文表示的【月-年-日】转换成纯数字的【年-月-日】形式的日期。
问题分析
我们平时处理的日期大部分是由纯数字组成的,可能很少接触到这类英文日期。
不过一旦遇到了,我们还是要想办法解决的,对不对?
比如前面提到的这个案例,我们可以使用下面的函数来提取出【年-月-日】形式的日期。
=DATE(MID(A2,5,2),LEFT(A2,3),MID(A2,7,2))
结果却是错误值!
为啥?接着往下看你就知道啦!
先来看下公式解析:
❶ 我们先用 MID (A2,5,2),提取出年份数
从该文本的第 5 个字符开始,截取 2 个字符,结果如下图:
❷ 再用 LEFT (A2,3),提取出月份数
从该文本的第 1 个字符开始,截取 3 个字符,结果如下图:
❸ 之后用 MID (A2,7,2),提取出天数
从该文本的第 7 个字符开始,截取 2 个字符:
❹ 最后用 Date 函数将【年月日】整合在一起。
=DATE(MID(A2,5,2),LEFT(A2,3),MID(A2,7,2))
看上去没有问题呀?为什么会出现错误值#VALUE 呢?
其实,问题就出在月份是英文字母。而不是数字。
Date 函数要求【年月日】三个参数都必须是数字。(不论是文本型数字,还是数值型数字)
思路有了,下面我们就来看看怎么解决吧!
解决方案
方案 A
将英文月份转变成数字,我们可以使用 Match 函数。
公式如下:
=MATCH("Mar",{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"},0)
公式解析:
MATCH(lookup_value, lookup_array, [match_type])
该函数有三个参数:
❶ 查找值。
第一参数:就是我们这里要查找的月份,比如:"Mar" ,
❷ 在哪个区域或者数组中查找。
第二参数:我们需要构造一个 1 月-12 月内存数组:
{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"}
用 Match 函数去查找第一参数在第二参数中的位置,如果在第三个,就返回 3,正好也是 3 月份的意思。
❸ 精确或者是模糊匹配。
第三参数:输入 0,表示精确查找。
最终我们将上面公式整合在一起,结果为:
公式如下:
=DATE(MID(A2,5,2),MATCH(LEFT(A2,3),"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec",0),MID(A2,7,2))
公式的第二部分由 Match 函数组成。返回数字月份。
这样结果就出来了!
但是,小伙伴有没有发现年份是错的,Excel 自动给我们加了 19 数字。
这个还不是我们想要的,所以我们在年份前面加上 20 即可。
公式如下:
=DATE(20&MID(A2,5,2),MATCH(LEFT(A2,3),{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"},0),MID(A2,7,2))
如果小伙伴们不想手动输入月份的常量数组,也可以用下面的公式:
公式如下:
=DATE(20&MID(A2,5,2),MATCH(LEFT(A2,3),TEXT(20&-ROW($1:$12),"mmm"),0),MID(A2,7,2))
其中:
TEXT(20&-ROW($1:$12),"mmm")
构造一个英文月份的常量数组。这个公式的结果正好是上面的英文月份数组。
有兴趣的小伙伴们可以参考下。
方案 B
另外,除了上面常规的套路之外,还有一种非常非常简单的方法,就是下面这种方法。
在【设置单元格格式】==》【数字】==》【日期】中,查看内置英文日期的显示方法。
从图中可以看出:
英文日期的显示方式是:【日-月-年】
我们可以通过这种方法来组合成日期形式,然后再转换成目标日期。如下图:
【B2】公式如下:
=MID(A2,7,2)&"-"&LEFT(A2,6)
公式解析:
❶ 先用 MID (A2,7,2) 提取出天数:12
❷ 再用 LEFT (A2,6) 提取出月和年:Mar-22
❸ 最后用 & 符号再连接一个日期符号「-」:12-Mar-22
日期样式已经组合成系统内置的日期形式了。
但是,现在的问题是如何转换成纯数字的目标日期呢?
其实方法很简单!
就是进行一次数学运算即可!如下图:
【B2】公式如下:
=--(MID(A2,7,2)&"-"&LEFT(A2,6))
公式解析:
先使用一对括号 ( ) 放在原公式的外面,再使用两个负号(--)将其转换为纯数字日期。
就这样一个简单的转换就实现了我们的需求了,还是挺简单的吧!
写在最后
今天,我们分享了如何将英文日期转换为符合中国人习惯的纯数字日期。
❶ 使用日期和文本截取函数的常规方法将【月-年-日】转换成【年-月-日】。
❷ 模拟套用系统内置样式进行转换。
可见使用第二种方法,不仅公式非常简单,而且也大大的提高表格运行效率。
希望小伙伴们在平时的工作中,可以多多留意下系统里面内置的各种设置,肯定能发现不少好用的功能!
本文来自微信公众号:秋叶 Excel (ID:excel100),作者:明镜在心
2023-02-24 15:41:04相关文章
- 淘宝天猫仅退款属于诈骗吗?淘宝天猫开始部分取消仅退款
2024-10-01 13:01:28
- 哈啰app借钱|哈啰借钱app下载安装免费小小上当和电话骚扰
2024-10-01 11:22:38
- 白嫖党|山西大同大学学生网购申请“仅退款”被拒骂客服一小时
2024-09-27 09:10:44
- 北大数学教授袁新意《姜萍事件的疑点分析》点评姜萍板书 阿里巴巴竞赛受质疑
2024-06-28 10:07:40
- 天猫新规可以无条件申请“仅退款”了?淘宝天猫又离狗多多零元购近了一步
2024-06-28 09:27:13
- 美国法院裁定阿里须为Squishmallows玩具侵权案答辩
2023-12-28 19:59:34
- 小米汽车传员工3700人 雷军称小米汽车不可能卖9万9
2023-12-28 19:41:57
- 国家新闻出版署:认真研究《网络游戏管理办法(草桉徵求意见稿)》关切 实行前进一步完善
2023-12-28 19:14:56
- 印度以打击金融犯罪为由逮捕了两名 vivo 高管
2023-12-26 16:49:01
- 在国外微信收不到国内信息?微信和WeChat将被拆分
2023-12-15 10:40:15
- 苹果iPhone15 系列手机发布最新消息 预计上市发布时间9月
2023-08-06 23:21:02
- 华为将发布鸿蒙HarmonyOS4操作系统 功能五大升级支持设备清单
2023-08-06 23:17:37
- 整治自媒体网红账号 400万粉丝网红发布擦边视频被无限期封禁
2023-07-12 09:56:09
- 网传微信文件传输助手是真人是真的吗?微信官方回应
2023-06-27 15:53:32
- 电信移动送手机成了“信用购”?你上了运营商的贷款套路了吗?
2023-06-12 17:18:55
- 中国电信广东地区崩了无信号 客服回应已在核实处理
2023-06-08 15:39:04
- 消息称小米新能源汽车价格表正讨论定价区间:双版本不同配置,高配或超 35 万元
2023-03-06 12:56:03
- 华为因制裁被传或分拆剥离手机业务? 内部人士回应:可能性不大.
2023-03-05 23:26:41
- OPPO正式发布安第斯智能云,让终端更智能
2023-02-24 16:02:27
- 华为与OPPO签订全球专利交叉许可协议 包括5G蜂窝通信专利
2023-02-24 16:02:26