中、英文与数字月份互转,总有一种你会用到!

1

在日常工作中,大家会用到各种月份的表达方式,比如英文简写、英文全称、中文和数字等,如下图所示:

但是,我们更多的时候,不是对月份本身的单独使用,月份从日期而来,而有用到日期的地方,都应先考虑规范日期的格式,然后再按需要进行转换成想要显示的方式。

所以,从标准格式到其他格式的转换,会更加常见,无论是Excel、Power Query、Power Pivot,乃至其它各种编程软件、工具,通常也会对日期转换有相应的函数直接支持,而特殊格式之间的转换,也往往可以通过先转为规范的能识别的日期入手解决。

2

中英文月份和数字格式之间的转换问题,通常是因为显示形式的需要,所以,最常用的情况,其实是数字形式转为中文或英文,如图中的1和2,而这个,在PQ里的处理也最简单。

最少见的需求应该说是从中文月份到数字的转换了,即上图中的4,因为你要在Excel或任何其他数据源里输入一个中文的日期,如“二〇二一年四月七日”,其实是比较难的!

当然,单纯从月份转换来说,这个转换需求也是有可能存在的。

3

前面我们讲过,各种格式之间的转换,可以通过先转为规范能识别的日期入手,所以,对于月份的转换,除上面提到的第4种特殊情况外,都可以先考虑给月份随便在前面加上年、后面加上日,构造成一个PQ能识别的日期:

1、英文月份转日期

= Date.From("2021 " & [英文月份_完整] & " 1")

该方法对英文简称也适用:

= Date.From("2021 " & [英文月份] & " 1")

2、数字转日期

= Date.From("2021-"&Text.From([数字月份])&"-1")

数字转日期的原理也一样,但要注意的是,数字要先转为文本(Text.From),否则跟文本连接的时候会出错!

4

有了这个日期之后,数字转中文、英文,以及英文转数字,其实都很简单了,直接1个函数就搞定了:

1、数字转中文

= Date.MonthName([月份转日期])

但是,对于这个简单的写法,你有没有想过:为什么出来的月份名称是中文,而不是英文?

其实,这只是因为咱们的系统区域(语言)设置为中文了!所以,这里面其实有个陷阱:如果你的系统语言改成了英文,那得到的结果就变了!

所以,这里更加严谨的写法是加上第二个参数(这个参数的写法是怎么知道?后面我们再补充说):

= Date.MonthName([月份转日期],"zh-CN")

2、数字转英文

= Date.MonthName([月份转日期],"en-US")

3、英文转数字

= Date.Month([英文转日期])

4、中文转数字

因为中文月份没办法转为日期,所以,要转换的话,我们可以通过预设列表的方式来实现,也就是找到这个列表的位置即可(记得加1哦):

= List.PositionOf( {"一","二","三","四","五","六","七","八","九","十","十一","十二"}, Text.Remove([中文月份],{"月"})) + 1

5

前面我们在用Date.MonthName函数的时候,用到第二个参数,写了“zh-CN”和“en-US”,但:

  • 为什么这两个文本是这么写的?

  • 难道都得靠记住吗?

  • 还有其它国家或语言表示形式怎么吧?

其实,我们不需要记,知道从哪里找就行。我们可以随便找一列,右键-更改类型-使用区域设置:

然后选择需要的“区域”:

查看生成的公式就能找到对应的写法了:

6

关于日期格式、区域语言转换的问题,说起来,很多泪!

从上面我们也可以看到,凭什么英文的月份单词,就可以直接加上年和日被系统识别,而中文的月份就不可以?

 说大了,这是一个国际标准的问题,所以为什么现在国家要对各种尖端技术争夺制定标准的机会,从华为的5G,到量子计算……标准是你的,所有的国家、企业、人才会围着你转,效率才会提升,国家才会更加强大!让我们拭目以待!

(0)

相关推荐

  • 英文名格式

    摘要 中国人名字的英文写法,就是汉语拼音:姓在前,名在后,姓和名分开写,姓和名的开头字母均大写.比如:张平 应该写:Zhang Ping. 英文名格式 1.单姓,比如:王海棠 应该写:Wang Hai ...

  • 口红会过期!大牌口红千万别舍不得用了

    小编每天晚上都有浏览朋友圈的习惯,昨天晚上看到一个小姐妹在朋友圈发了一张照片,嘴巴看起来好像得了唇炎,小编赶紧发微信过去关心,不问不知道,一问才惊觉,今天要跟大家普及一下如何看口红是否过期的知识,不然 ...

  • 平年闰年判断和英文月份转换

    平年闰年判断和英文月份转换

  • 自定义数字格式5——日期代码

    昨天我们说了自定义数字格式中的文本占位符和特殊代码,今天来说下有关日期的一些代码,你准备好了吗? -01- 日期代码 1.年份的代码 下图是有关年份的代码,有2个,一个是yy,一个是yyyy.yy是显 ...

  • 提取单元格中的中文、英文和数字

    一.提取字符串中的英文 先来看下面的数据,是一些混到一起的客户信息,有姓名.英文名和住址,现在咱们要提取出其中的英文名. 有小伙伴可能首先想到的就是在2013及以上版本中的快速填充功能,嗯嗯,可以实现 ...

  • 日语中最基础的月份数字和星期你会读了吗?

    学日语的同学们刚开始学习日语最苦恼的就是数字.月份.星期的读法了,今天我们就一起来了解一下它们的读法! 1 月份 月份,月读作がつ,前面的数字随着月份的不同不断变化. 一月(いちがつ) 二月(にがつ) ...

  • 面试题-re正则表达式替换字符串中的英文和数字

    题目 字符串 s="hello 1234 world xx 上海 18 悠悠",用正则过滤掉英文和数字 得到:上海  悠悠 sub 过滤 re正则表达式中,过滤字符可以用替换的方法 ...

  • Word办公技巧:在文档中输入英文或数字时排版不整齐怎么办?

    我们在编辑文档的过程中,可能会需要同时输入中文.英文和数字,有时候输入英文或数字时会出现排版不整齐的问题,部分文本之间出现较大的空白间隔区域,影响文档美观,这篇文章我们通过两个案例一起来看看解决办法. ...

  • 生命中的神秘数字

    提  示 在卵子与精子结合,生命开始后,第一个七天,生成了督脉.上从间脑下达海底.第二个七天,生出左右两眼,此后则每七天一个变化,到了三十八个七天后,婴儿才会出世.   这也就是七日来复的道理,后天的 ...

  • 上海震楼器奇葩事件中的自损、互害与滥伤无辜

    [免责声明]文章来源为网络,版权归原作者所有.如侵权请联系责编:我们对文中观点保持中立,仅供参考.交流之目的. 来源:网络 几天可能你也听说了一桩奇事:上海的一栋居民楼里,502室因为和602室产生邻 ...

  • 从含有数字的文本字符串中提取出数字

    我的工作表中有许多含有数字的单元格,我想将数字单独提取出来.如下图1所示,将列A的单元格中的数字提取出来放置在列B中,应该如何编写公式呢? 图1 可以使用数组公式: =1*MID(A1,MATCH(T ...

  • 博弈论中的社会现实:帝王为啥总要杀掉有功之臣?

    古话说:"狡兔死,走狗烹:飞鸟尽,良弓藏."似乎无论何时.不论何人,都是共患难容易,同富贵都难. 小时候看<大汉天子>还不懂事,觉得东方朔在帮汉武帝刘彻登上帝位之后,就 ...

  • 技巧丨批量提取单元格中右边的数字

    技巧丨批量提取单元格中右边的数字