老板甩过来一张表,让你按时间顺序整理一下销售记录。你自信满满地点开Excel,选中日期那一列,潇洒地点击“排序”,从A到Z。
然后,世界崩塌了。
你看着那张表,一列日期,本该整整齐齐,从远到近或者从近到远,结果呢?它跟喝醉了酒一样,东倒西歪,毫无章法,2023年的数据后面跟着一个2021年的,五月的旁边躺着一个十二月的,简直是对强迫症的公开处刑。1月、10月、11月、12月全挤在了一起,然后才是2月、3月……乱得让你想当场砸了键盘。
为什么?凭什么?Excel的日期排序,这个看似基础得不能再基础的功能,怎么就成了职场生涯的一道坎?
别急,坐下。这事儿,我跟你讲,百分之九十九的问题,都出在一个根源上:你看到的日期,根本就不是Excel眼里的“日期”。
是的,你没听错。在Excel这个认死理的“老头”眼里,万物皆有其内在的规矩。它能识别的真正日期,本质上是一个序列值。什么意思?简单粗暴地理解,就是从1900年1月1日开始算起,那天是1,1月2日是2,以此类推。我们今天看到的“2023年12月5日”,在它的“内芯”里,其实是一个巨大的数字,比如45264。我们看到的年月日格式,只是它外面披着的一层“皮肤”,是它为了取悦我们人类,特意“显示”出来的样子。
而你那个排不好的表里,那些让你头大的“日期”,十有八九,是“文本格式的假日期”。
它们可能长这样:
* 2023.12.5 (用点分隔)
* 2023年12月5日 (中文年月日)
* 23-Dec-05 (奇奇怪怪的英文缩写)
* 或者干脆就是从某个系统里导出来,前面还带个肉眼看不见的空格。
这些东西,在我们眼里,是日期,没毛病。但在Excel眼里,它们就是一串毫无意义的文本字符。你让它给一堆文本排序,它当然只能按照文本的规则来——挨个比较第一个字符、第二个字符……所以,“1”开头的(比如1月、10月、11月)自然就排在“2”开头(2月)的前面了。这就是你那混乱排序的罪魁祸首。
怎么破?
想让Excel听你的话,就得先把它看不懂的“黑话”,翻译成它能识别的“官方语言”。核心思路就一个:把文本格式的假日期,转换成Excel认可的、可以计算的真日期。
下面这几招,你得收好了,关键时刻能救命。
第一招:釜底抽薪——“分列”大法
这一招,堪称大力出奇迹,效果拔群,是我个人最推荐的。别看它名字叫“分列”,好像跟日期八竿子打不着,但它在处理日期格式转换时,简直是神器。
假设你有一列用“.”分隔的日期,比如 2023.12.05。
- 选中这一整列数据。
- 点击菜单栏里的“数据”选项卡。
- 找到那个叫“分列”的按钮,勇敢地点下去。
- 弹出的窗口里,直接点“下一步”,再点“下一步”,不用管那些分隔符号的设置。我们不是真的要把它分开。
- 关键的一步来了!在第三个步骤的界面,你会看到一个“列数据格式”的选项。在这里,请选择“日期”,然后在右边的下拉菜单里,找到跟你原始数据格式对应的排列方式。比如你的是“年.月.日”,那你就选 YMD。
- 点击“完成”。
然后,你低头看你的表格。奇迹发生了。你会发现,那些原本靠左对齐的“文本日期”,瞬间变成了靠右对齐的“真日期”。(对,这也是个小技巧:在默认设置下,文本靠左,数值(包括日期)靠右。一眼就能看出谁是“卧底”。)
这个时候,你再试试排序。是不是丝般顺滑,药到病除了?
这一招的强大之处在于,它能批量处理绝大多数不规范的日期格式,不管是 . 分隔,还是 / 分隔,甚至是中文的年月日,只要你在最后一步选对对应的 YMD/DMY/MDY 格式,它都能给你“翻译”过来。
第二招:外科手术——公式函数组合拳
有时候,数据混乱得千奇百怪,比如 20231205 这种连分隔符都没有的,或者 Dec-05-2023 这种中西结合的。这时候,“分列”大法可能就有点力不从心了。我们需要更精准的“外科手术刀”——函数。
-
对付
20231205这种纯数字串:你可以在旁边一列输入这个公式:
=TEXT(A1,"0000-00-00")*1这个公式有点意思。
TEXT(A1,"0000-00-00")会先把20231205变成2023-12-05这个文本。然后,最骚的操作来了,后面那个*1,就是点睛之笔。任何长得像数字的文本,乘以1之后,Excel就会恍然大悟:“哦!原来你是个数字啊!” 于是,它就会自动把这个文本转换成真正的日期序列值。 -
对付更复杂的文本日期:
如果你的日期是
2023年12月5日这种,可以用 DATEVALUE 函数。公式:
=DATEVALUE(A1)这个函数就是专门干这个的,把看起来像日期的文本,直接转换成日期序列值。但它有点挑剔,对格式要求比较高,有时候会耍脾气。
-
终极武器——DATE + LEFT/MID/RIGHT 组合:
这是最万能,但也最复杂的一招。不管你的文本日期长成什么妖魔鬼怪的样子,只要年月日的信息都在,我们就能把它“肢解”了再重新“组装”成一个真日期。
比如,数据是
CN-20231205-A,日期信息被夹在中间。我们可以用
DATE函数,它的语法是DATE(年, 月, 日)。我们只需要把年月日三个数字从文本里抠出来喂给它就行。公式可以这么写:
=DATE(MID(A1,4,4), MID(A1,8,2), MID(A1,10,2))这里的
MID(A1,4,4)就是从第4个字符开始,取4位,得到“2023”(年);MID(A1,8,2)得到“12”(月);MID(A1,10,2)得到“05”(日)。然后DATE函数把这三个零件完美地组装成了一个Excel认可的日期。是不是有种庖丁解牛的快感?
第三招:障眼法与照妖镜——格式刷与查找替换
很多新手会犯一个错误,看到日期格式不对,第一反应是选中一个正确的单元格,然后用“格式刷”去刷那些错误的。
我告诉你,这是完全没用的!
记住,格式刷刷的只是“皮肤”,是显示格式。它改变不了那个单元格里是“文本”的“内芯”。一个假日期,你给它刷一万遍正确的日期格式,它骨子里也还是个文本,排序的时候照样我行我素。
但是,“查找和替换”(Ctrl+H)有时候能派上用场。比如,你的一列表格里,日期都是 2023.12.5 这种用点分隔的。你可以尝试选中这一列,然后按 Ctrl+H,查找内容输入“.”,替换为输入“-”或者“/”。有时候,这么简单粗暴地一换,Excel就自己“顿悟”了,自动把它们识别成了日期。这算是个小偏方,不一定次次灵,但值得一试。
治标更要治本
上面说的都是补救措施。真正的高手,更懂得如何从源头避免问题。
数据验证是你的护城河。在需要输入日期的单元格,提前设置好“数据验证”(在“数据”选项卡里),限制只能输入日期格式。这样,谁要是想输入一个 2023.12.5 进去,Excel会直接弹窗警告,让他重新输入。
把数据源头规范好,后面就省心多了。
总而言之,搞定Excel的日期排序,关键不在于那个排序按钮怎么点,而在于你如何驯服那些五花八门的“假日期”,让它们统统变成Excel认识的、听话的“真日期”。当你能一眼看穿单元格里那个日期的“本质”(是文本还是序列值),并且熟练地运用分列、函数这些工具去改造它们时,那小小的排序功能,在你面前,就再也掀不起任何风浪了。
【你是不是也遇到过这种情况?】相关文章:
怎么让excel表格一样大小12-06
怎么在excel身份证号码12-06
excel平方怎么计算12-06
excel怎么设置页脚12-06
excel表格怎么编辑12-06
excel怎么不能修改12-06
你是不是也遇到过这种情况?12-06
你是不是也有过这种被Excel单元格逼到墙角的绝望瞬间?12-06
怎么复制excel格式12-06
excel怎么删除重复12-06
咱们今天聊点实在的,就聊“怎么把Excel字居中”这点破事。12-06