03.05 「有意思」Excel函数界中的百变星君

今天和大家分享一个比较好玩的内容:Excel函数界中的百变星君。

在学习中文的时候,有些汉字在不同的语境下,会有不同的读音;

同样,Excel函数在不同的语言环境下,会有不同的名字。

这就是我们今天要介绍的三个名字会改变的函数。


我们先看看视频操作演


下面是文字稿:

半角转全角函数

「有意思」Excel函数界中的百变星君

在不用的语言环境中,半角转函数所显示的名字

人民币函数

「有意思」Excel函数界中的百变星君

在不同的语言环境中,RMB函数所显示的名字

在货币函数中,还有一个【DOLLAR】函数,在不同的语言环境中。这个函数会有什么变化呢?

「有意思」Excel函数界中的百变星君

在不同语言环境中,Dollar函数所显示的名字及效果


PS:为什么是这5种语言导致的这三个函数名名字会改变?

在Excel文件【JIS】函数的帮助文件中,有这样一句话:【函数的名称】及其【转换的字符】取决于您的语言设置。

这里的语言设置是什么意思呢?有哪些语言呢?

首先,我们需要明白在Office中,有几种字符集语言:1、单字节字符集 (SBCS) 的语言;2、双字节字符集 (DBCS) 的语言。

其次,这两种语言怎么区分呢?在【LENB】函数的帮助文件中,有这样一句话:支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。

对于DBCS语言的,百度中给的解释是:

虽然中文、日文和韩文共用一些相同的象形文字,但显然这三种语言是不同的,而且经常是同一个象形文字在三种不同的语言中代表三件不同的事。Windows支持四个不同的双位元组字元集:内码表932(日文)、936(简体中文)、949(韩语)和950(繁体汉字)。只有为这些国家(地区)生产的Windows版本才支持DBCS。明白Unicode和DBCS之间的区别很重要。Unicode使用(特别在C程式设计语言环境里)宽字元集。Unicode中的每个字元都是16位元宽而不是8位元宽。在Unicode中,没有单单使用8位元数值的意义存在。相比之下,在双位元组字元集中我们仍然处理8位元数值。有些位元组自身定义字元,而某些位元组则显示需要和另一个位元组共同定义一个字元。

简单来说。ASCII字元由1个位元组表示,一个byte里剩下的码位最多也只能表示128个字符,中日韩不够用。自然而然会想到的一种办法就是用两个byte来表示一个字符。ASCII不是空出来了高128个码位吗?第一个byte在这高128里取值,再和第二个byte结合就可以表示最多128x256=32768个字符了。程序在处理字符串的时候,遇到有byte<128的就认为是ASCII,遇到>=128的就把下一个byte也读进来,换算成一个字符。

所以双字节字符虽然保持了和ASCII的兼容性,但天生就和CP437冲突。在具体的编码方案上,各国因地制宜的制定了不同的方案,于是就出现了中文(简体)、中文(繁体)、日文、韩文【这里的朝鲜和百度中的韩语,不过多解释为什么哈】。各国的DBCS方案虽然原理类似,但实际占用的码位都有区别,并不是单纯靠检查byte的最高位是不是为1(即大于127)来判断的。所以有一些函数需要根据默认的编辑语言,显示不同的名字,来进行特殊的判断和转换。

大家如果有兴趣,可以再测试下,看是否还有其他函数,也存在这样的情况。


好了,今天就到这里,感谢各位朋友的关注和支持。

如果你喜欢我分享的内容,请点个赞支持下;

如果你觉得我分享的内容对你有帮助,可以关注我;

如果要看我以前分享过的好玩的内容,大家可以去我的主页查看历史文章。


分享到:


相關文章: