Excel 中的日期问题,每次遇到总会有各种各样的难题。今天有个读者提了个新问题:收上来的一个表,里面的月份都是数字,平时部门内部小范围使用没问题,但是在正式场合演示的时候还是要改成正经月份。
那么有没有简单的方法将数字和月份互相转换?
案例:
将下图 1 中 A 列的数字月份分别转换为英文月份的简写和全称,然后再转换回数字。
效果如下图 2 所示。
解决方案:
日期格式的来回转换,总之是离不开 text 函数。有些老读者可能看过我之前写的 Excel函数(七) –用Text看我格式72变。
那我们就用前文写过的公式试一试。
1. 在 B2 单元格中输入以下公式:
=TEXT(A2,"mmm")
确实转换成了英文三位字母简写的月份。
2. 向下拖动单元格复制公式。
这就怪了啊,第一个单元格的结果明明是对的,怎么复制以后全都是一月?
其实道理也很简单,text 函数的第一个参数应该是日期,现在不是日期,只有一个数值,函数就会将其视为日,因此这每一行,都是 1 月的不同日,拉出来的月份当然都一样。
既然明白了原理,解决起来就很容易了,我们只需要稍微调整一下公式,给 A 列补上日期,公式不就能跑出正确结果了吗。
3. 选中 B2:B13 区域 --> 输入以下公式 --> 按 Ctrl+Enter:
=TEXT(A2&"/1","mmm")
现在为什么就成了呢?我给大家看一下分步骤结果你们就明白了。
4. 选中公式中的第一个参数 --> 按 F9
计算结果为“1/1”,这就等于把单元格中的数字变成了日期 1 月 1 日。
我们再选中 B3 单元格,也对第一个参数使用 F9,可以看到结果是表示 2 月 1 日的“2/1”。所以 text 函数的结果就相应都正确了。
5. 接下来要显示月份的英文全称就很容易了,只要在 B 列公式的第二个参数后面多加一个“m”就行。
选中 C2:C13 区域 --> 输入以下公式 --> 按 Ctrl+Enter:
=TEXT(A2&"/1","mmmm")
接下来再教大家反向操作,将英文月份转换为数字。
6. 选中 D2:D13 区域 --> 输入以下公式 --> 按 Ctrl+Enter:
=MONTH(B2&"/1")
month 函数的租用就是提取日期中的月份,那为什么不直接引用 B2 单元格呢?因为 B2 并不是标准的日期格式,如果没有最低标准的月和日,公式结果会出错。
所以参数的作用也是将英文变成了“月/日”这种最基本的日期格式。
将全称转数字,公式可以跟 D 列一样,也可以变通。因为参数的公式作用是转换成日期格式,那么日期可以有很多格式,比如下面这样。
7. 选中 E2:E13 区域 --> 输入以下公式 --> 按 Ctrl+Enter:
=MONTH(C2&"-1")
领取专属 10元无门槛券
私享最新 技术干货