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)來判斷的。所以有一些函數需要根據默認的編輯語言,顯示不同的名字,來進行特殊的判斷和轉換。

大家如果有興趣,可以再測試下,看是否還有其他函數,也存在這樣的情況。


好了,今天就到這裡,感謝各位朋友的關注和支持。

如果你喜歡我分享的內容,請點個贊支持下;

如果你覺得我分享的內容對你有幫助,可以關注我;

如果要看我以前分享過的好玩的內容,大家可以去我的主頁查看歷史文章。


分享到:


相關文章: