日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

文本函數char和code的用法

 劉卓學EXCEL 2021-04-02

接著來說文本函數,今天講2個可以互轉的函數,那就是char和code。char函數返回對應于數字代碼的字符。code函數返回文本字符串中第一個字符的數字代碼。

可以簡單理解為:在excel中,一個數字代碼對應一個字符。比如數字代碼10對應的字符為換行符。我們常看到的char(10)就是用char返回數字代碼10對應的字符,也就是換行符。

而code函數是返回文字字符串中第一個字符的數字代碼。如code("愛你")返回的就是“愛”對應的數字代碼45230。你寫個char(45230)就返回“愛”。

-01-

函數說明

CHAR 函數語法如下,只有一個參數:

CHAR(number)

Number    必需。 介于 1 到 255 之間的數字,指定所需的字符。 使用的是當前計算機字符集中的字符。盡管官方說明是1到255的數字,實際上不止。而且還支持數組。

-02-

示例解釋

下面是數字代碼對應的字符,我截了3張圖,給你參考下,你可以自己測試下。

-03-

具體應用

1.將一行轉為多行多列

要將第1行的“我要學函數!”轉化成下面多行多列的表格。之前我們說過單列轉多行多列,用的是indirect這個函數。現在這個也是用indirect。首先要像最下面的表格一樣,把單元格地址寫出來。

我們發(fā)現它的字母都不一樣,該怎么樣用函數實現這樣的單元格地址呢?這就用到char和code,我們知道每個字符都有1個數字代碼,先用code查找A的數字代碼發(fā)現是65。B是66,C是67,。。。這樣就可以轉化為下表。

這樣是不是就和以前的單列轉多行多列差不多了,用row和column構建這樣的數字。在任意空白單元格輸入公式=COLUMN(A1)+64+ROW(A1)*3-3,向右向下拖動,就構建出上面的數字。

再用char轉化為對應的字符,公式為=CHAR(COLUMN(A1)+64+ROW(A1)*3-3)。如下圖。

再&1,最后套個indirect結果就出來了,如下圖。公式為=INDIRECT(CHAR(COLUMN(A1)+64+ROW(A1)*3-3)&1)。

如果你對這個不熟悉,請看之前的indirect的那篇文章。用慣了之后你就會喜歡的indirect函數

2.計算一個單元格中不重復字符的個數。

A列中是一些字符串,如果有的字符重復出現,只算做1個。比如第一個abcd出現2次,最后只算做4個字符。

現在我給出2種解法,第一種公式比較長,在B13單元格中輸入公式=SUM(N(FIND(MID(A13,ROW(INDIRECT("1:"&LEN(A13))),1),A13)=ROW(INDIRECT("1:"&LEN(A13))))),按ctrl+shift+enter三鍵,向下拖動。這個公式我就不講解了。

第2種用char函數,公式也短。在C13單元格中輸入公式=COUNT(FIND(CHAR(ROW(A:A)),A13)),同樣按ctrl+shift+enter三鍵,向下拖動。

ROW(A:A)是A列中所有的行號,CHAR(ROW(A:A))是將A列中所有的行號返回對應的字符,這些字符都是唯一的,也就是不會重復出現的,并且包括所有的字符。

FIND(CHAR(ROW(A:A)),A13)是在A13單元格中找上面的那些字符,找到的返回1個數字,找不到的返回錯誤值。COUNT(FIND(CHAR(ROW(A:A)),A13))是統計數字的個數,數字的個數就是要算的不重復的個數。

關于code的用法我這里就不再講了,會用char就會用code。好了,今天的2個函數就講到這里,你學會了嗎?

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多