工作中如果需要填写月份,经常用的是英文简写,当然特定情况下也会要求写全称。
还有一些情况下,为了便于排序,需要用数字来表示月份。
这就衍生了一个比较有趣的问题:英文和数字形式的月份,如何相互转换?
案例:
将英文月份转换为数字月份,再将数字月份转换成英文缩写和全称的月份,如下图所示。
解决方案1:英文月份转数字
说到将月份作为数字提取出来,熟悉函数的同学可能已经想到了month函数。没错,就是它!
虽然这个函数非常简单,但是怎么用却也有技巧,如果姿势不对,也一样求不出结果。
我们就先来看看如果直接用month,会不会得出正确结果。
在B2单元格中输入以下公式:
=MONTH(A2)
然而,出错了。为什么呢?
这是因为month函数的参数必须是日期或者一个代表日期的序列值,而英文的月份简写只是一个文本,因此会报错。
所以,需要通过公式中的一个小小变化将文本转换为日期,下面就是正确答案。
1.在B2单元格中输入以下公式-->下拉复制公式:
=MONTH(A2&"1")
公式释义:
本公式的重点主要在于参数的设置,A2&"1"的结果为Jan1,相当于1月1日,这就将文本转换成了日期格式;
最后用month函数提取上述日期的月份,就能得到一个表示月份的数字了
其实上述公式的参数如果演变如下,也一样能得出结果:
=MONTH(A2&"-1")
参数的结果为Jan-1,这是一个更规范的日期格式,所以当然符合month函数的要求。
=MONTH(A2&"2")或 =MONTH(A2&2)
这两个公式的参数结果都是Jan2,即1月2日,用month求月份,日的改变不会影响月份结果。
解决方案2:数字月份转英文
转换成英文简写:
1.在E2单元格中输入以下公式-->下拉复制公式:
=TEXT("1-"&D2,"mmm")
公式释义:
跟前面公式的用法同理,text函数可以将日期转换为英文简写的月份,但前提是转换的对象必须是日期格式;
D列的数字显然不是日期,而通过 "1-"&D2,就将D列分别转换为1-1,1-2……1-12,分别代表1月1日,2月1日……12月1日;
然后用 TEXT函数转换成简写的英文月份
*请注意:因为我用的是英文版的Excel,英文环境中默认格式为“日-月”,所以参数需要设置为 "1-"&D2。如果是中文版的Excel,请改为D2&"-1",即“月-日”的形式,才能被正确识别。
转换为英文全称:
2.在F2单元格中输入以下公式-->下拉复制公式:
=TEXT("1-"&D2,"mmmm")
跟上一个公式唯一的区别是,第二个参数多了一个m。