首页 > 代码库 > Excel教程(14) - 文本和数据函数
Excel教程(14) - 文本和数据函数
ASC
用途:将字符串中的全角(双字节)英文字母更改为半角 (单字节)字符。
语法:ASC(text)
参数:Text 为文本或包含文本的单元格引用。如果文本 中不包含任何全角英文字母,则文本不会被更改。
实例:如果 A1=excel,则公式“=ASC(A1)”返回 excel。
CHAR
用途:返回对应于数字代码的字符,该函数可将其他类型 的电脑文件中的代码转换为字符(操作环境为 MacintoshMacintosh 字符集和 WindowsANSI 字符集)。
语法:CHAR(number)。
参数:Number 是用于转换的字符代码,介于 1~255 之间 (使用当前计算机字符集中的字符)。
实例:公式“=CHAR(56)”返回 8,=CHAR(36)返回$。
CLEAN
用途:删除文本中不能打印的字符。对从其他应用程序中 输入的字符串使用 CLEAN 函数,将删除其中含有的当前操作系 统无法打印的字符。
语法:CLEAN(text)。
参数:Text 为要从中删除不能打印字符的任何字符串。
实例:由于 CHAR(7)返回一个不能打印的字符,因此公式 “=CLEAN(CHAR(7)&"text"&CHAR(7))”返回 text。
CODE
用途:返回文字串中第一个字符的数字代码(对应于计算 机当前使用的字符集)。
语法:CODE(text)
参数:Text 为需要得到其第一个字符代码的文本。
实例:因为 CHAR(65)返回 A,所以公式 “=CODE("Alphabet")”返回 65。
CONCATENATE
用途:将若干文字串合并到一个文字串中,其功能与"&" 运算符相同。
语法:CONCATENATE(text1,text2,...)
参数:Text1,text2,...为1到 30 个将要合并成单个文 本的文本项,这些文本项可以是文字串、数字或对单个单元格 的引用。
实例:如果 A1=98、A2=千米,则公式“=CONCATENATE(A1, A2)”返回“98 千米”,与公式“=A1&A2”等价。
DOLLAR 或 RMB
用途:按照货币格式将小数四舍五入到指定的位数并转换 成文字。
语法:DOLLAR(number,decimals)或 RMB(number, decimals)。
参数:Number 是数字、包含数字的单元格引用,或计算 结果为数字的公式;Decimals 是十进制的小数,如果 Decimals 为负数,则参数 number 从小数点往左按相应位数取整。如果 省略 Decimals,则假设其值为 2。
实例:公式“=RMB(1586.567,2)”返回“¥1586.57”,=RMB(99.888)返回“¥99.89”。
EXACT
用途:测试两个字符串是否完全相同。如果它们完全相同, 则返回 TRUE;否则返回 FALSE。EXACT 函数能区分大小写,但 忽略格式上的差异。
语法:EXACT(text1,text2)。
参数:Text1 是待比较的第一个字符串,Text2 是待比较 的第二个字符串。
实例:如果 A1=物理、A2=化学 A3=物理,则公式 “=EXACT(A1,A2)”返回 FALSE,=EXACT(A1,A3)返回 FALSE,=EXACT("word","word")返回 TRUE。
FIND
用途:FIND 用于查找其他文本串(within_text)内的文本 串(find_text),并从 within_text 的首字符开始返回 find_text 的起始位置编号。此函数适用于双字节字符,它区 分大小写但不允许使用通配符。
语法:FIND(find_text,within_text,start_num),
参数:Find_text 是待查找的目标文本;Within_text 是 包含待查找文本的源文本;Start_num 指定从其开始进行查找 的字符,即 within_text 中编号为 1 的字符。如果忽略 start_num,则假设其为 1。
实例:如果 A1=软件报,则公式“=FIND("软件",A1,1)” 返回 1。
FINDB
用途:FINDB 用于查找其他文本串(within_text)内的文 本串(find_text),并根据每个字符使用的字节数从 within_text 的首字符开始返回 find_text 的起始位置编号。 FIND 与 FINDB 的区别在于:前者是以字符数为单位返回起始 位置编号,后者是以字节数为单位返回起始位置编号。
语法:FINDB(find_text,within_text,start_num),
参数:Find_text 是待查找的目标文本;Within_text 是 包含待查找文本的源文本;Start_num 指定从其开始进行查找 的字符,即 within_text 中编号为 1 的字符。如果忽略 start_num,则假设其为 1。
注意:此函数适用于双字节字符,它能区分大小写但不允 许使用通配符。其它事项与 FIND 函数相同。
实例:如果 A1=电脑爱好者,则公式“=FINDB(爱好者", A1,1)”返回 5。因为每个字符均按字节进行计算,而一个汉 字为 2 个字节,所以第三个汉字“爱”从第五个字节开始。
FIXED
用途:按指定的小数位数四舍五入一个数,以小数格式设 置后以文字串形式返回结果。
语法:FIXED(number,decimals,no_commas)。
参数:Number 是要进行四舍五入并转换成文字串的数; Decimals 为一数值,用以指定小数点右边的小数位数; No_commas 为一逻辑值。如果是 TRUE,则函数 FIXED 返回的文 字不含逗号。如果 no_commas 是 FALSE 或省略,则返回的文字 中包含逗号。
实例:如果 A1=2001.16845,则公式“=FIXED(A2,2, TRUE)”返回 2001.17,=FIXED(6834.567,-1)返回 6830。
JIS
用途:将字符串中的半角(单字节)英文字母更改为全角 (双字节)字符。
语法:JIS(text)
参数:Text 为文本或对包含文本的单元格(或引用)。如 果文本中不包含任何半角英文字母,则文本不会更改。
实例:如果 A1=excel,则公式“=JIS(a1)”返回 EXCEL。
LEFT 或 LEFTB
用途:根据指定的字符数返回文本串中的第一个或前几个 字符。此函数用于双字节字符。
语法:LEFT(text,num_chars)或 LEFTB(text, num_bytes)。
参数:Text 是包含要提取字符的文本串;Num_chars 指定 函数要提取的字符数,它必须大于或等于 0。Num_bytes 按字 节数指定由 LEFTB 提取的字符数。
实例:如果 A1=电脑爱好者,则 LEFT(A1,2)返回“电脑”, LEFTB(A1,2)返回“电”。
LEN 或 LENB
用途:LEN 返回文本串的字符数。LENB 返回文本串中所有 字符的字节数。
语法:LEN(text)或 LENB(text)。
参数:Text 待要查找其长度的文本。
注意:此函数用于双字节字符,且空格也将作为字符进行 统计。
实例:如果 A1=电脑爱好者,则公式“=LEN(A1)”返回 5,=LENB(A1)返回 10。
LOWER
用途:将一个文字串中的所有大写字母转换为小写字母。
语法:LOWER(text)。
语法:Text 是包含待转换字母的文字串。
注意:LOWER 函数不改变文字串中非字母的字符。LOWER 与 PROPER 和 UPPER 函数非常相似。
实例:如果 A1=Excel,则公式“=LOWER(A1)”返回 excel。
MID 或 MIDB
用途:MID 返回文本串中从指定位置开始的特定数目的字 符,该数目由用户指定。MIDB 返回文本串中从指定位置开始 的特定数目的字符,该数目由用户指定。MIDB 函数可以用于 双字节字符。
语法:MID(text,start_num,num_chars)或 MIDB(text, start_num,num_bytes)。
参数:Text 是包含要提取字符的文本串。Start_num 是文 本中要提取的第一个字符的位置,文本中第一个字符的 start_num 为 1,以此类推;Num_chars 指定希望 MID 从文本 中返回字符的个数;Num_bytes 指定希望 MIDB 从文本中按字 节返回字符的个数。
实例:如果 a1=电子计算机,则公式“=MID(A1,3,2)” 返回“计算”,=MIDB(A1,3,2)返回“子”。
PHONETIC
用途:提取文本串中的拼音(furigana)字符。
语法:PHONETIC(reference)。
参数:Reference 为文本串或对单个单元格或包含文本串 的单元格区域的引用。如果 reference 为单元格区域,则返回 区域左上角单元格中的 furigana 文本串。如果 reference 为 不相邻单元格的区域,将返回#N/A 错误值。
注意:该函数在中文 Excel 中无效。
PROPER
用途:将文字串的首字母及任何非字母字符之后的首字母 转换成大写。将其余的字母转换成小写。
语法:PROPER(text)
参数:Text 是需要进行转换的字符串,包括双引号中的 文字串、返回文本值的公式或对含有文本的单元格引用等。
实例:如果 A1=学习 excel,则公式“=PROPER(A1)”返回 “学习 Excel”。
REPLACE 或 REPLACEB
用途:REPLACE 使用其他文本串并根据所指定的字符数替 换另一文本串中的部分文本。REPLACEB 的用途与 REPLACE 相 同,它是根据所指定的字节数替换另一文本串中的部分文本。
语法:REPLACE(old_text,start_num,num_chars, new_text),REPLACEB(old_text,start_num,num_bytes, new_text)。
参数:Old_text 是要替换其部分字符的文本;Start_num 是要用 new_text 替换的 old_text 中字符的位置;Num_chars 是希望 REPLACE 使用 new_text 替换 old_text 中字符的个数; Num_bytes 是希望 REPLACE 使用 new_text 替换 old_text 的字 节数;New_text 是要用于替换 old_text 中字符的文本。
注意:以上两函数均适用于双字节的汉字。
实例:如果 A1=学习的革命、A2=电脑,则公式 “=REPLACE(A1,3,3,A2)”返回“学习电脑”,=REPLACEB(A1,2,3,A2)返回“电脑的革命”。
REPT
用途:按照给定的次数重复显示文本。可以通过 REPT 函 数对单元格进行重复填充。
语法:REPT(text,number_times)。
参数:Text 是需要重复显示的文本,Number_times 是重 复显示的次数(正数)。
注意:REPT 函数的结果不能多于 255 个字符。
实例:公式“=REPT("软件报",2)”返回“软件报软件 报”。
RIGHT 或 RIGHTB
用途:RIGHT 根据所指定的字符数返回文本串中最后一个 或多个字符。RIGHTB 根据所指定的字节数返回文本串中最后 一个或多个字符。
语法:RIGHT(text,num_chars),RIGHTB(text,num_bytes)。
参数:Text 是包含要提取字符的文本串;Num_chars 指定 希望 RIGHT 提取的字符数,它必须大于或等于 0。如果 num_chars 大于文本长度,则 RIGHT 返回所有文本。如果忽略 num_chars,则假定其为 1。Num_bytes 指定欲提取字符的字节 数。
实例:如果 A1=学习的革命,则公式“=RIGHT(A1,2)” 返回“革命”,=RIGHTB(A1,2)返回“命”。
SEARCH 或 SEARCHB
用途:返回从 start_num 开始首次找到特定字符或文本串 的位置编号。其中 SEARCH 以字符数为单位,SEARCHB 以字节 数为单位。
语法:SEARCH(find_text,within_text,start_num), SEARCHB(find_text,within_text,start_num)。
参数:Find_text 是要查找的文本,可以使用通配符,包 括问号“?”和星号“*”。其中问号可匹配任意的单个字符, 星号可匹配任意的连续字符。如果要查找实际的问号或星号, 应当在该字符前键入波浪线“~”。Within_text 是要在其中 查找 find_text 的文本。Start_num 是 within_text 中开始查 找的字符的编号。如果忽略 start_num,则假定其为 1。
实例:如果 A1=学习的革命,则公式“=SEARCH("的", A1)”返回 3,=SEARCHB("的",A1)返回 5。
SUBSTITUTE
用途:在文字串中用 new_text 替代 old_text。如果需要 在一个文字串中替换指定的文本,可以使用函数 SUBSTITUTE; 如果需要在某一文字串中替换指定位置处的任意文本,就应当 使用函数 REPLACE。
语法:SUBSTITUTE(text,old_text,new_text, instance_num)。
参数:Text 是需要替换其中字符的文本,或是含有文本 的单元格引用;Old_text 是需要替换的旧文本;New_text 用 于替换 old_text 的文本;Instance_num 为一数值,用来指定 以 new_text 替换第几次出现的 old_text;如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将 用 new_text 替换 Text 中出现的所有 old_text。
实例:如果 A1=学习的革命、A2=电脑,则公式 “=SUBSTITUTE(A1,"的革命",A2,1)”返回“学习电脑”。
T
用途:将数值转换成文本。
语法:T(value)。
参数:Value 是需要进行测试的数据。如果 value 本身就 是文本,或是对文本单元格的引用,T 函数将返回 value;如 果没有引用文本,则返回""(空文本)。
实例:如果 A1 中含有文本“电脑”,则公式“=T(A1)” 返回“电脑”。
TEXT
用途:将数值转换为按指定数字格式表示的文本。
语法:TEXT(value,format_text)。
参数:Value 是数值、计算结果是数值的公式、或对数值 单元格的引用;Format_text 是所要选用的文本型数字格式, 即“单元格格式”对话框“数字”选项卡的“分类”列表框 中显示的格式,它不能包含星号“*”。
注意:使用“单元格格式”对话框的“数字”选项卡设置 单元格格式,只会改变单元格的格式而不会影响其中的数值。 使用函数 TEXT 可以将数值转换为带格式的文本,而其结果将 不再作为数字参与计算。
实例:如果 A1=2986.638,则公式“=TEXT(A5,"#,##0.00")”返回 2,986.64。
TRIM
用途:除了单词之间的单个空格外,清除文本中的所有的 空格。如果从其他应用程序中获得了带有不规则空格的文本, 可以使用 TRIM 函数清除这些空格。
语法:TRIM(text)。
参数:Text 是需要清除其中空格的文本。
实例:如果 A1=FirstQuarterEarnings,则公式 “=TRIM(A1)”返回“FirstQuarterEarnings”。
UPPER
用途:将文本转换成大写形式。
语法:UPPER(text)。
参数:Text 为需要转换成大写形式的文本,它可以是引 用或文字串。
实例:公式“=UPPER("apple")”返回 APPLE。
VALUE
用途:将表示数字的文字串转换成数字。
语法:VALUE(text)。
参数:Text 为带引号的文本,或对需要进行文本转换的 单元格的引用。它可以是 Excel 可以识别的任意常数、日期或 时间格式。如果 Text 不属于上述格式,则 VALUE 函数返回错 误值#VALUE!。
注意:通常不需要在公式中使用 VALUE 函数,Excel 可以 在需要时自动进行转换。VALUE 函数主要用于与其他电子表格 程序兼容。
实例:公式“=VALUE("¥1,000")”返回 1000;
=VALUE("16:48:00")-VALUE("12:00:00")返回 0.2,该序列数等于 4 小时 48 分钟。
WIDECHAR
用途:将单字节字符转换为双字节字符。
语法:WIDECHAR(text)。
参数:Text 是需要转换为双字节字符的文本或包含文本 的单元格引用。
注意:因为汉字本身是双字节字符,所以使用此函数转换 汉字时得到的是汉字的原形。
实例:公式“=WIDECHAR("apple")”返回 apple,=WIDECHAR("电脑")返回“电脑”。
Excel教程(14) - 文本和数据函数