13文本函数
- 13x01 ASC 函数
- 语法
- 13x02 BAHTTEXT 函数
- 语法
- 13x03 CHAR 函数
- 语法
- 13x04 CLEAN 函数
- 语法
- 13x05 CODE 函数
- 语法
- 13x06 CONCAT 函数
- 语法
- 13x07 CONCATENATE 函数
- 语法
- 13x08 DBCS 函数
- 语法
- 13x09 DOLLAR 函数
- 语法
- 13x10 EXACT 函数
- 语法
- 13x11 FIND、FINDB 函数
- 语法
- 13x12 FIXED 函数
- 语法
- 13x13 LEFT、LEFTB 函数
- 语法
- 13x14 LEN、LENB 函数
- 语法
- 13x15 LOWER 函数
- 语法
- 13x16 MID、MIDB 函数
- 语法
- 13x17 NUMBERVALUE 函数
- 语法
- 13x18 PHONETIC 函数
- 语法
- 13x19 PROPER 函数
- 语法
- 13x20 REPLACE、REPLACEB 函数
- 语法
- 13x21 REPT 函数
- 语法
- 13x22 RIGHT、RIGHTB 函数
- 语法
- 13x23 SEARCH、SEARCHB 函数
- 语法
- 13x24 SUBSTITUTE 函数
- 语法
- 13x25 T 函数
- 语法
- 13x26 TEXT 函数
- 语法
- 13x27 TEXTJOIN 函数
- 语法
- 13x28 TRIM 函数
- 语法
- 13x29 UNICHAR 函数
- 语法
- 13x30 UNICODE 函数
- 语法
- 13x31 UPPER 函数
- 语法
- 13x32 VALUE 函数
- 语法
13x01 ASC 函数
对于双字节字符集 (DBCS) 语言,该函数将全角(双字节)字符转换成半角(单字节)字符。
语法
ASC(text)
参数 | 说明 |
---|---|
Text 必需 | 文本或对包含要更改文本的单元格的引用。 如果文本不包含任何全角字母,则不会对文本进行转换。 |
例子:
=ASC(“EXCEL”) 等于 “EXCEL”
=ASC(" DDDDD ") equals “DDDDD "
=ASC(” ,,,,, ") equals ", "
13x02 BAHTTEXT 函数
将数字转换为泰语文本并添加后缀“泰铢”。
通过“区域和语言选项”(Windows“开始”菜单、“控制面板”),可以将 Excel 桌面应用程序中的泰铢格式更改为其他样式。
语法
BAHTTEXT(number)
参数 | 说明 |
---|---|
number 必需 | 要转换成文本的数字、对包含数字的单元格的引用或结果为数字的公式。 |
例子:
数据 | ||
---|---|---|
1234 | ||
公式 | 说明 | 结果 |
=BAHTTEXT(A2) | 以文本格式显示数字。 (以泰语文本表示的 1234 泰铢) | หนึ่งพันสองร้อยสามสิบสี่บาทถ้วน |
13x03 CHAR 函数
返回对应于数字代码的字符。 使用 CHAR 可将从其他类型计算机上的文件中获取的代码页数字转换为字符。
操作环境 | 字符集 |
---|---|
Macintosh | Macintosh 字符集 |
Windows | ANSI |
ANSI 字符集是 Windows 操作系统通过 Windows 95 和 Windows NT 在 Windows 操作系统中使用的标准字符集,在这之后,将采用 Unicode。 ANSI 包含218个字符,其中许多字符都与 ASCII/Unicode 格式中的相同数字代码共享。 https://www.techopedia/definition/932/ansi-character-set |
语法
CHAR(number)
参数 | 说明 |
---|---|
number 必需 | 介于 1 到 255 之间的数字,指定所需的字符。 使用的是当前计算机字符集中的字符。 |
例子:
公式 | 说明 | 结果 |
---|---|---|
=CHAR(65) | 显示计算机字符集中由 65 表示的字符。 | A |
=CHAR(33) | 显示计算机字符集中由 33 表示的字符。 | ! |
13x04 CLEAN 函数
删除文本中所有不能打印的字符。 对从其他应用程序导入的文本使用 CLEAN,将删除其中含有的当前操作系统无法打印的字符。 例如,可以使用 CLEAN 删除某些通常出现在数据文件开头和结尾处且无法打印的低级计算机代码。
语法
CLEAN(text)
参数 | 说明 |
---|---|
text 必需 | 要从中删除非打印字符的任何工作表信息。 |
注意:
CLEAN 函数用于删除文本中 7 位 ASCII 码的前 32 个非打印字符(值为 0 到 31)。 在 Unicode 字符集中,有附加的非打印字符(值为 127、129、141、143、144 和 157)。 CLEAN 函数自身不删除这些附加的非打印字符。 有关如何从文本中删除其他这些非打印字符的示例,请参阅清理数据的十大方法。
例子:
数据 | ||
---|---|---|
=CHAR(9)&“月度报表”&CHAR(10) | ||
公式 | 说明 | 结果 |
=CLEAN(A2) | 从单元格 A2 中的文本字符串中删除不能打印的字符 CHAR(9) 和 CHAR(10)。 | 月度报表 |
13x05 CODE 函数
返回文本字符串中第一个字符的数字代码。 返回的代码对应于本机所使用的字符集。
操作环境 | 字符集 |
---|---|
Macintosh | Macintosh 字符集 |
Windows | ANSI |
语法
CODE(text)
参数 | 说明 |
---|---|
text 必需 | 要为其获取第一个字符的代码的文本。 |
例子:
公式 | 说明 | 结果 |
---|---|---|
=CODE(“A”) | 显示 A 的数字代码 | 65 |
=CODE("!") | 显示 ! 的数字代码 | 33 |
13x06 CONCAT 函数
office2019才可用,CONCAT 函数将多个区域和/或字符串中的文本组合起来,但不提供分隔符或 IgnoreEmpty 参数。
CONCAT 替换了连接函数。 但是,为了与早期版本的 Excel 兼容,CONCATENATE 函数将仍然可用。
语法
CONCAT(text1, [text2],…)
参数 | 说明 |
---|---|
text1 必需 | 要联接的文本项。 字符串或字符串数组,如单元格区域。 |
[text2, …] 可选 | 要联接的其他文本项。 文本项最多可以有 253 个文本参数。 每个参数可以是一个字符串或字符串数组,如单元格区域。 |
注意:
- 若要在要合并的文本之间包含分隔符(如间距或符号(&)),并删除合并文本结果中不希望出现的空参数,可以使用TEXTJOIN 函数。
- 如果结果字符串超过 32767 个字符(单元格限制),则 CONCAT 返回 #VALUE! 错误。
例子1:
=CONCAT(B:B, C:C) | A’s | B’s |
---|---|---|
a1 | b1 | |
a2 | b2 | |
a4 | b4 | |
a5 | b5 | |
a6 | b6 | |
a7 | b7 |
结果:A’sa1a2a4a5a6a7B’sb1b2b4b5b6b7
例子2:
=CONCAT(B2:C8) | A’s | B’s |
---|---|---|
a1 | b1 | |
a2 | b2 | |
a4 | b4 | |
a5 | b5 | |
a6 | b6 | |
a7 | b7 |
结果:a1b1a2b2a4b4a5b5a6b6a7b7
例子3:
Data | First Name | Last name |
---|---|---|
brook trout | Andreas | Hauser |
species | Fourth | Pine |
32 | ||
Formula | Description | Result |
=CONCAT("Stream population for “, A2,” ", A3, " is ", A4, “/mile.”) | Creates a sentence by joining the data in column A with other text. | Stream population for brook trout species is 32/mile. |
=CONCAT(B2," ", C2) | Joins three things: the string in cell B2, a space character, and the value in cell C2. | Andreas Hauser |
=CONCAT(C2, ", ", B2) | Joins three things: the string in cell C2, a string with a comma and a space character, and the value in cell B2. | Hauser, Andreas |
=CONCAT(B3," & ", C3) | Joins three things: the string in cell B3, a string consisting of a space with ampersand and another space, and the value in cell C3. | Fourth & Pine |
=B3 & " & " & C3 | Joins the same items as the previous example, but by using the ampersand (&) calculation operator instead of the CONCAT function. | Fourth & Pine |
13x07 CONCATENATE 函数
使用 CONCATENATE将两个或多个文本字符串联接为一个字符串。
语法
CONCATENATE(text1, [text2], …)
参数 | 说明 |
---|---|
text1 必需 | 要联接的第一个项目。 项目可以是文本值、数字或单元格引用。 |
[text2, …] 可选 | 要联接的其他文本项目。 最多可以有 255 个项目,总共最多支持 8,192 个字符。 |
注意:
- 要使用逗号分隔相邻的文本项目,否则可能导致引号显示在结果字符串中。例如:Excel 将 =CONCATENATE("Hello "“World”) 显示为 Hello"World ,其中有一个额外的双引号,因为文本参数之间的逗号被忽略。
- 单词最好加空格,否则单词会混杂在一起。方式1,添加双引号并在 " 和 " 之间添加一个空格。 例如:=CONCATENATE(“Hello”, " ", “World!”).。方式2,在 Text 参数后添加一个空格。 例如:=CONCATENATE("Hello ", “World!”)。 字符串 "Hello " 包含添加的额外空格。
- 出现#NAME?错误,通常意味着 Text 参数中缺少引号。
- 可以使用与号 &链接,而不是 CONCATENATE 函数联接文本项目。
- 使用 TEXT 函数组合字符串和设置字符串格式。例如, 如果单元格 A1 包含数字 23.5, 则可以使用以下公式将数字格式设置为美元金额:=TEXT(A1,"$0.00")。结果:$23.50。
例子:
数据 | ||
---|---|---|
brook trout | Andreas | Hauser |
species | Fourth | Pine |
32 | ||
公式 | 说明 | |
=CONCATENATE("Stream population for ", A2, " ", A3, " is ", A4, “/mile”) | 通过将 A 列中的数据与其他文本相联接来创建一个句子。 结果是“Stream population for brook trout species is 32/mile”。 | |
=CONCATENATE(B2, " ", C2) | 联接三部分内容:单元格 B2 中的字符串、空格字符以及单元格 C2 中的值。 结果是“Andreas Hauser”。 | |
=CONCATENATE(C2, ", ", B2) | 联接三部分内容:单元格 C2 中的字符串、由逗号和空格字符组成的字符串以及单元格 B2 中的值。 结果是“Andreas Hauser”。 | |
=CONCATENATE(B3, " & ", C3) | 联接三部分内容:单元格 B3 中的字符串、另一个字符串(由空格、与号和另一个空格组成)以及单元格 C3 中的值。 结果是“Fourth & Pine”。 | |
=B3 & " & " & C3 | 联接与上一个示例相同的项目,但是使用的是与号 (&) 计算运算符而不是 CONCATENATE 函数。 结果是“Fourth & Pine”。 |
13x08 DBCS 函数
本“帮助”主题中描述的函数将字符串中的半角(单字节)字母转换为全角(双字节)字符。 函数的名称(及其转换的字符)取决于您的语言设置。
对于日文,该函数将字符串中的半角(单字节)英文字母或片假名更改为全角(双字节)字符。
语法
DBCS(text)
参数 | 说明 |
---|---|
text 必需 | 文本或包含要转换的文本的单元格的引用。 如果文本中不包含任何半角英文字母或片假名,则不会对文本进行转换。 |
例子:
=DBCS(“EXCEL”) 等于 “EXCEL”
=DBCS(" DDDDD “) equals " DDDDD "
=DBCS(”,") equals “,,,,,”
13x09 DOLLAR 函数
美元函数使用货币格式将数字转换为文本,并将小数舍入到指定的位数。 美元使用 $ #,# #0 .00 _);($ #,# #0 .00)数字格式,尽管应用的货币符号取决于您的本地语言设置。
语法
DOLLAR(number, [decimals])
参数 | 说明 |
---|---|
number 必需 | 数字、对包含数字的单元格的引用或是计算结果为数字的公式。 |
Decimals 可选 | 小数点右边的位数。 如果此值为负值,则数字舍入到小数点的左侧。 如果省略 decimals,则假设其值为 2。 |
注意:
通常,应使用 “设置单元格格式” 对话框(Ctrl + 1)或 “主>编号” > “会计编号格式” 选项将货币格式应用于单元格。 这是因为美元函数会返回以文本形式提供的数字。 以文本形式存储的数字是电子表格错误的常见原因,因为许多函数会忽略它们,例如 SUM、AVERAGE、MIN、MAX 等。
例子:
13x10 EXACT 函数
比较两个文本字符串,如果它们完全相同,则返回 TRUE,否则返回 FALSE。 函数 EXACT 区分大小写,但忽略格式上的差异。 使用 EXACT 可以检验在文档中输入的文本。
语法
EXACT(text1, text2)
参数 | 说明 |
---|---|
text1 必需 | 第一个文本字符串。 |
text2 必需 | 第二个文本字符串。 |
例子:
第一个字符串 | 第二个字符串 | |
---|---|---|
word | word | |
Word | word | |
w ord | word | |
公式 | 说明 | 结果 |
=EXACT(A2,B2) | 测试第一行中的两个字符串是否完全相同 | TRUE |
=EXACT(A3,B3) | 测试第二行中的两个字符串是否完全相同(A3 中的 “W” 为大写形式) | FALSE |
=EXACT(A4,B4) | 测试第三行中的两个字符串是否完全相同(A4 的 “w” 和 “ord” 之间包含一个空格) | FALSE |
13x11 FIND、FINDB 函数
函数 FIND 和 FINDB 用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值,该值从第二个文本串的第一个字符算起。
语法
详情见Excel函数大全-01最常用的十个函数
13x12 FIXED 函数
将数字舍入到指定的小数位数,使用句点和逗号,以十进制数格式对该数进行格式设置,并以文本形式返回结果。
语法
FIXED(number, [decimals], [no_commas])
参数 | 说明 |
---|---|
number 必需 | 要进行舍入并转换为文本的数字。 |
decimals 可选 | 小数点右边的位数。 |
no_commas 可选 | 一个逻辑值,如果为 TRUE,则会禁止 FIXED 在返回的文本中包含逗号。 |
注意:
- 在 Microsoft Excel 中,Numbers 的最大有效位数不能超过 15 位,但 decimals 可达到 127。
- 如果 decimals 为负数,则 number 从小数点往左按相应位数四舍五入。
- 如果省略 decimals,则假设其值为 2。
- 如果 no_commas 为 FALSE 或被省略,则返回的文本中和往常一样包含逗号。
- FIXED函数与使用命令对包含数字的单元格进行格式设置的主要区别为,FIXED函数结果为文本,使用 “单元格” 命令设置格式的数字仍为数字。
例子:
数据 | ||
---|---|---|
1234.567 | ||
-1234.567 | ||
44.332 | ||
公式 | 说明 | 结果 |
=FIXED(A2, 1) | 将 A2 中的数字四舍五入到小数点右边第一位。 | 1,234.6 |
=FIXED(A2, -1) | 将 A2 中的数字四舍五入到小数点左边第一位。 | 1,230 |
=FIXED(A3, -1, TRUE) | 将 A3 中的数字四舍五入到小数点左边第一位,并且返回的文本中不包含逗号(参数为 TRUE)。 | -1230 |
=FIXED(A4) | 将 A4 中的数字四舍五入到小数点左边两位。 | 44.33 |
13x13 LEFT、LEFTB 函数
LEFT 从文本字符串的第一个字符开始返回指定个数的字符。
LEFTB 基于所指定的字节数返回文本字符串中的第一个或前几个字符。
语法
LEFT(text, [num_chars])
LEFTB(text, [num_bytes])
参数 | 说明 |
---|---|
text 必需 | 包含要提取的字符的文本字符串。 |
num_chars 可选 | 指定要由 LEFT 提取的字符的数量。必须大于等于0,大于text长度时返回全部text内容,省略时假定为1返回text第一个字符 |
num_bytes 可选 | 按字节指定要由 LEFTB 提取的字符的数量。 |
注意:
- 这些函数可能并不适用于所有语言。
- 只有在将 DBCS 语言设置为默认语言时,函数 LEFTB 才会将每个字符按 2 个字节计数。 否则,函数 LEFTB 的行为与 LEFT相同,即将每个字符按 1 个字节计数。
- 支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。
例子:
Data | ||
---|---|---|
Sale Price | ||
Sweden | ||
Formula | Description | Result |
=LEFT(A2,4) | First four characters in the first string | Sale |
=LEFT(A3) | First character in the second string | S |
13x14 LEN、LENB 函数
LEN 返回文本字符串中的字符个数。
LENB 返回文本字符串中用于代表字符的字节数。
语法
LEN(text)
LENB(text)
参数 | 说明 |
---|---|
text 必需 | 要查找其长度的文本。 空格将作为字符进行计数 |
注意:
- 这些函数可能并不适用于所有语言。
- 只有在将 DBCS 语言设置为默认语言时,函数 LENB 才会将每个字符按 2 个字节计数。 否则,函数 LENB 的行为与 LEN 相同,即将每个字符按 1 个字节计数。
- 支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。
例子:
Data | Phoenix, AZ | Formula | =LEN(B1) | =LEN(B2) | =LEN(B3) |
---|---|---|---|---|---|
Description | Length of the first string | Length of the second string | Length of the third string, which includes eight spaces and the word one | ||
One | Result | 11 | 0 | 11 |
13x15 LOWER 函数
将一个文本字符串中的所有大写字母转换为小写字母。
语法
LOWER(text)
参数 | 说明 |
---|---|
text 必需 | 要转换为小写字母的文本。 LOWER 不改变文本中的非字母字符。 |
例子:
数据 | ||
---|---|---|
E. E. Cummings | ||
Apt. 2B | ||
公式 | 说明 | 结果 |
=LOWER(A2) | 将第一个字符串转换为小写 (e. e. cummings) | e. e. cummings |
=LOWER(A3) | 将最后一个字符串转换为小写 (apt. 2b) | apt. 2b |
13x16 MID、MIDB 函数
MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
MIDB 根据您指定的字节数,返回文本字符串中从指定位置开始的特定数目的字符。
语法
MID(text, start_num, num_chars)
MIDB(text, start_num, num_bytes)
参数 | 说明 |
---|---|
text 必需 | 包含要提取字符的文本字符串。 |
start_num 必需 | 文本中要提取的第一个字符的位置。 文本中第一个字符的 start_num 为 1,以此类推。 |
num_chars 对 MID 是必需的 | 指定希望 MID 从文本中返回字符的个数。如果 num_chars 为负值,MID 将返回 #VALUE! 。 |
num_bytes 对MIDB 是必需的 指定希望 MIDB 从文本中返回字符的个数(字节数)。如果 num_bytes 为负值,MIDB 将返回 #VALUE! 。 |
注意:
- 这些函数可能并不适用于所有语言。
- 只有在将 DBCS 语言设置为默认语言时,函数 MIDB才会将每个字符按 2 个字节计数。 否则,函数 MIDB的行为与 MID相同,即将每个字符按 1 个字节计数。
- 支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。
- 如果 start_num 大于文本长度,则 MID/MIDB 返回 “” (空文本)。
- 如果 start_num 小于文本的长度,但 start_num 加 num_chars 超过文本的长度,则 MID/MIDB 返回文本结尾的字符。
- 如果 start_num 小于1,MID/MIDB 将返回 #VALUE! 。
例子:
数据 | ||
---|---|---|
Fluid Flow | ||
公式 | 说明 | 结果 |
=MID(A2,1,5) | 从 A2 内字符串中第 1 个字符开始,返回 5 个字符。 | Fluid |
=MID(A2,7,20) | 从 A2 内字符串中第 7 个字符开始,返回 20 个字符。 由于要返回的字符数 (20) 大于字符串的长度 (10),从第 7 个字符开始,将返回所有字符。 未将空字符(空格)添加到末尾。 | Flow |
=MID(A2,20,5) | 因为起始位置大于字符串的长度 (10),所以返回空文本。 |
13x17 NUMBERVALUE 函数
以与区域设置无关的方式将文本转换为数字。
语法
NUMBERVALUE(Text, [Decimal_separator], [Group_separator ])
参数 | 说明 |
---|---|
text 必需 | 要转换为数字的文本。 |
Decimal_separator 必需 | 用于分隔结果的整数和小数部分的字符。 |
Group_separator 必需 | 用于分隔数字分组的字符,例如,千位与百位之间以及百万位与千位之间。 |
注意:
- 如果未指定 Decimal_separator 和 Group_separator 参数,则使用当前区域设置中的分隔符。
- 如果 Decimal_separator 或 Group_separator 参数中使用了多个字符,则只会使用第一个字符。
- 如果空字符串 ("") 被指定为文本参数,则结果为0。
- 文本参数中的空格(即使位于参数中间)也将被忽略。 例如,“ 3 000 ”将返回 3000。
- 如果文本参数中多次使用小数分隔符,则 NUMBERVALUE 返回错误值 #VALUE! 。
- 如果在文本参数中数组分隔符出现在小数分隔符之前,则将忽略数组分隔符。
- 如果在文本参数中数组分隔符出现在小数分隔符之后,则 NUMBERVALUE 返回错误值 #VALUE! 。
- 如果有任何参数无效,则 NUMBERVALUE 返回错误值 #VALUE! 。
- 如果文本参数以一个或多个百分号 (%) 结束,这些百分号将用于结果计算。 如果文本参数中使用了多个百分号,则如同百分号用于公式中一样,这些百分号将累加。 例如,=NUMBERVALUE(“9%%”) 与公式 =9%% 返回的结果相同,都是 0.0009。
例子:
公式 | 说明 | 结果 |
---|---|---|
=NUMBERVALUE(“2.500,27”,",",".") | 返回 2,500.27。 本示例中文本参数的小数分隔符在第二个参数中被指定为逗号,组分隔符在第三个参数中被指定为句号。 | 2500.27 |
=NUMBERVALUE(“3.5%”) | 返回 0.035。 由于未指定可选参数,将使用当前区域设置的小数分隔符和组分隔符。 尽管计算了百分比,但并未显示 % 符号。 | 0.035 |
13x18 PHONETIC 函数
提取文本字符串中的拼音 (furigana) 字符。该函数只适用于日文版。
语法
PHONETIC(reference)
参数 | 说明 |
---|---|
reference 必需 | 文本字符串或对单个单元格或包含 furigana 文本字符串的单元格区域的引用。 |
注意:
- 如果 reference 为单元格区域,则返回区域左上角单元格中的 furigana 文本字符串。
- 如果 reference 为不相邻单元格的区域,将返回错误值 #N/A。
- 特别注意,中文版的excel中,PHONETIC函数的作用是将reference中的字符拼接成一个字符串。
例子:
如果单元格 C4 中包含“東京都 ”,而单元格 B7 中包含“大阪府”,则有:
= PHONETIC(C4) 等于 " トウキョウト"
= PHONETIC(B7) 等于 " オオサカ "
13x19 PROPER 函数
将文本字符串的首字母以及文字中任何非字母字符之后的任何其他字母转换成大写。 将其余字母转换为小写。
语法
PROPER(text)
参数 | 说明 |
---|---|
text 必需 | 用引号括起来的文本、返回文本值的公式,或者对包含要进行部分大写转换文本的单元格的引用。 |
例子:
数据 | ||
---|---|---|
this is a TITLE | ||
2-way street | ||
76BudGet | ||
公式 | 说明 | 结果 |
=PROPER(A2) | 在 A2 中字符串的适当大小写。 | This Is A Title |
=PROPER(A3) | 在 A3 中字符串的适当大小写。 | 2-Way Street |
=PROPER(A4) | 在 A4 中字符串的适当大小写。 | 76Budget |
13x20 REPLACE、REPLACEB 函数
根据指定的字符数,REPLACE 将部分文本字符串替换为不同的文本字符串。
REPLACEB 使用其他文本字符串并根据所指定的字节数替换某文本字符串中的部分文本。
语法
REPLACE(old_text, start_num, num_chars, new_text)
REPLACEB(old_text, start_num, num_bytes, new_text)
参数 | 说明 |
---|---|
old_text 必需 | 要替换其部分字符的文本。 |
start_num 必需 | old_text 中要替换为 new_text 的字符位置。 |
num_chars 必需 | old_text 中希望 REPLACE 使用 new_text 来进行替换的字符数。 |
num_bytes 必需 | old_text 中希望 REPLACEB 使用 new_text 来进行替换的字节数。 |
new_text 必需 | 将替换 old_text 中字符的文本。 |
注意:
- 这些函数可能并不适用于所有语言。
- 只有在将 DBCS 语言设置为默认语言时,函数 REPLACEB 才会将每个字符按 2 个字节计数。 否则,函数 REPLACEB 的行为与 REPLACE相同,即将每个字符按 1 个字节计数。
- 支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。
例子:
数据 | ||
---|---|---|
abcdefghijk | ||
2009 | ||
123456 | ||
公式 | 描述(结果) | 结果 |
=REPLACE(A2,6,5,"*") | 在 abcdefghijk 中,从第六个字符 (f) 开始使用单个字符 * 替换五个字符。 | abcde*k |
=REPLACE(A3,3,2,“10”) | 将 2009 的最后两位数 (09) 替换为 10。 | 2010 |
=REPLACE(A4,1,3,"@") | 将 123456 的前三个字符替换为单个字符 @。 | @456 |
13x21 REPT 函数
将文本重复一定次数。 使用 REPT 来在单元格中填充文本字符串的大量实例。
语法
REPT(text, number_times)
参数 | 说明 |
---|---|
text 必需 | 需要重复显示的文本。 |
number_times 必需 | 用于指定文本重复次数的正数。 |
注意:
- 如果 number_times 为 0(零),则 REPT 返回 “”(空文本)。
- 如果 number_times 不是整数,将被截尾取整。
- REPT 函数结果的长度不能超过 32,767 个字符,否则 REPT 返回 #VALUE!。
例子:
公式 | 说明 | 结果 |
---|---|---|
=REPT("*-", 3) | 显示星号和短划线 (*-) 3 次。 | --*- |
=REPT("-",10) | 显示短划线 (-) 10 次。 | ---------- |
13x22 RIGHT、RIGHTB 函数
RIGHT 根据所指定的字符数返回文本字符串中最后一个或多个字符。
RIGHTB 根据所指定的字节数返回文本字符串中最后一个或多个字符。
语法
RIGHT(text,[num_chars])
RIGHTB(text,[num_bytes])
参数 | 说明 |
---|---|
text 必需 | 包含要提取字符的文本字符串。 |
num_chars 可选 | 指定希望 RIGHT 提取的字符数。Num_chars 必须大于或等于零。如果 num_chars 大于文本长度,则 RIGHT 返回所有文本。如果省略 num_chars,则假定其值为 1。 |
num_bytes 可选 | 按字节指定要由 RIGHTB 提取的字符的数量。Num_bytes 必须大于或等于零。如果 num_bytes 大于文本长度,则 RIGHT 返回所有文本。如果省略 num_bytes,则假设其为1。 |
注意:
- 这些函数可能并不适用于所有语言。
- 只有在将 DBCS 语言设置为默认语言时,函数 RIGHTB 才会将每个字符按 2 个字节计数。 否则,函数 RIGHTB 的行为与 RIGHT相同,即将每个字符按 1 个字节计数。
- 支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。
例子:
Data | Description | |
---|---|---|
Sale Price | ||
Stock Number | ||
Formula | Description (Result) | Result |
=RIGHT(A2,5) | Last 5 characters of the first string (Price) | Price |
=RIGHT(A3) | Last character of the second string ® | r |
13x23 SEARCH、SEARCHB 函数
SEARCH 和 SEARCHB 函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。
例如,若要查找字母“n”在单词“printer”中的位置,可以使用以下函数:
=SEARCH(“n”,“printer”)
此函数会返回 4,因为“n”是单词“printer”的第四个字符。
也可以在一个单词中搜索另一个单词。 例如,以下函数:
=SEARCH(“base”,“database”)
会返回 5,因为单词“base”是从单词“database”的第五个字符开始的。 使用 SEARCH 和 SEARCHB 函数可以确定某个字符或文本字符串在另一个文本字符串中的位置,然后可使用 MID 和 MIDB 函数返回文本,或使用 REPLACE 和 REPLACEB 函数更改文本。
语法
SEARCH(find_text,within_text,[start_num])
SEARCHB(find_text,within_text,[start_num])
参数 | 说明 |
---|---|
find_text 必需 | 要查找的文本。 |
within_text 必需 | 要在其中搜索 find_text 参数的值的文本。 |
start_num 必需 | within_text 参数中从之开始搜索的字符编号。 |
注意:
- 这些函数可能并不适用于所有语言。
- 只有在将 DBCS 语言设置为默认语言时,函数 SEARCHB 才会将每个字符按 2 个字节计数。 否则,函数 SEARCHB 的行为与 SEARCH相同,即将每个字符按 1 个字节计数。
- 支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。
- SEARCH 和 SEARCHB 函数不区分大小写。 如果要执行区分大小写的搜索,可以使用 FIND 和 FINDB 函数。
- 可以在 find_text 参数中使用通配符 (问号 (?) 和星号 (*)) 。 问号匹配任意单个字符;星号匹配任意一串字符。 如果要查找实际的问号或星号,请在字符前键入波形符 (~)。
- 如果找不到find_text的值, 则 #VALUE! 错误值。
- 如果省略了 start_num 参数,则假设其值为 1。
- 如果start_num不大于 0 (零) 或大于within_text参数的长度, 则 #VALUE! 错误值。
- 可以使用 start_num 来跳过指定数目的字符。 以 SEARCH 函数为例,假设要处理文本字符串“AYF0093.YoungMensApparel”。 若要在文本字符串的说明部分中查找第一个“Y”的位置,请将 start_num 设置为 8,这样就不会搜索文本的序列号部分(即本例中的“AYF0093”)。 SEARCH 函数从第 8 个字符开始,在下一个字符处查找在 find_text 参数中指定的字符,并返回数字 9。 SEARCH 函数总是返回从 within_text 参数的起始位置计算的字符的编号,如果 start_num 参数大于 1,则会计算跳过的字符。
例子:
数据 | ||
---|---|---|
Statements | ||
Profit Margin | ||
margin | ||
The “boss” is here. | ||
公式 | 说明 | 结果 |
=SEARCH(“e”,A2,6) | 单元格 A2 中的字符串中,从第 6 个位置起,第一个“e”的位置。 | 7 |
=SEARCH(A4,A3) | “margin”(要搜索的字符串位于单元格 A4 中)在“Profit Margin”(要搜索的字符串位于单元格 A3 中)中的位置。 | 8 |
=REPLACE(A3,SEARCH(A4,A3),6,“Amount”) | 首先在单元格 A3 中搜索“Margin”的位置,然后将该字符以及接下来的六个字符替换为字符串“Amount”,从而实现将“Margin”替换为“Amount”的目的。 | Profit Amount |
=MID(A3,SEARCH(" ",A3)+1,4) | 返回“Profit Margin”(单元格 A3)中第一个空格字符后的前四个字符。 | Marg |
=SEARCH("""",A5) | 单元格 A5 中第一个双引号标记 (") 的位置。 | 5 |
=MID(A5,SEARCH("""",A5)+1,SEARCH("""",A5,SEARCH("""",A5)+1)-SEARCH("""",A5)-1) | 仅返回单元格 A5 中被双引号括起来的文本。 | boss |
13x24 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 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。 |
例子:
Data | ||
---|---|---|
Sales Data | < | |
Quarter 1, 2008 | < | |
Quarter 1, 2011 | < | |
Formula | Description (Result) | Result |
=SUBSTITUTE(A2, “Sales”, “Cost”) | Substitutes Cost for Sales (Cost Data) | Cost Data |
=SUBSTITUTE(A3, “1”, “2”, 1) | Substitutes first instance of “1” with “2” (Quarter 2, 2008) | Quarter 2, 2008 |
=SUBSTITUTE(A4, “1”, “2”, 3) | Substitutes third instance of “1” with “2” (Quarter 1, 2012) | Quarter 1, 2012 |
13x25 T 函数
将参数转换为文本,返回值引用的文字。
语法
T(value)
参数 | 说明 |
---|---|
value 必需 | 要测试的值。 |
注意:
- 如果值是文字或引用文字,则 T 返回值。 如果值未引用文字,则 T 返回 “”(空文字)。
- 由于 Microsoft Excel 会根据需要自动转换值,因此通常无需在公式中使用 T 函数。 提供此函数是为了与其他电子表格程序兼容。
例子:
数据 | ||
---|---|---|
降雨量 | ||
19 | ||
TRUE | ||
公式 | 描述(结果) | 结果 |
=T(A2) | 因为第一个 value 是文本,所以返回该文本 (降雨量) | 降雨量 |
=T(A3) | 因为第二个 value 是数字,所以返回空文本 () | |
=T(A4) | 因为第三个 value 是逻辑值,所以返回空文本 () |
13x26 TEXT 函数
TEXT 函数可通过格式代码向数字应用格式,进而更改数字的显示方式。 如果要按更可读的格式显示数字,或者将数字与文本或符号组合,它将非常有用。
语法
TEXT(value, format_text)
参数 | 说明 |
---|---|
value 必需 | 要转换为文本的数值。 |
format_text 必需 | 一个文本字符串,定义要应用于所提供值的格式。 |
注意:
- TEXT 函数会将数字转换为文本,这可能使其在以后的计算中难以引用。 最好将原始值保存在一个单元格中,然后在另一单元格中使用 TEXT 函数。 随后如果需要构建其他公式,请始终引用原始值,而不是 TEXT 函数结果。
- 虽然可使用 TEXT 函数更改格式,但这不是唯一的方法。 你可以通过按 CTRL+1 (或在 Mac 上按 MAC 命令按钮图标的图像 +1)来更改不带公式的格式,然后在设置单元格 > 数字对话框中选择所需的格式,可以复制该对话框中的格式字符串,作为TEXT函数的format_text参数。
例子1:下面是一些常用示例,可将其直接复制到 Excel 自行进行试验。 请注意引号内的格式代码。
公式 | 说明 |
---|---|
=TEXT(1234.567,"$#,##0.00") | 货币带有 1 个千位分隔符和 2 个小数,如 $1,234.57。 请注意,Excel 将该值四舍五入到小数点后两位。 |
= TEXT(TODAY(),“MM/DD/YY”) | 目前日期采用 YY/MM/DD 格式,如 12/03/14 |
=TEXT(TODAY(),“DDDD”) | 一周中的当天,如周日 |
=TEXT(NOW(),“H:MM AM/PM”) | 当前时间,如下午 1:29 |
=TEXT(0.285,“0.0%”) | 百分比,如 28.5% |
=TEXT(4.34 ,"# ?/?") | 分数,如 4 1/3 |
=TRIM(TEXT(0.34,"# ?/?")) | 分数,如 1/3。 注意,这将使用 TRIM 函数删除带十进制值的前导空格。 |
=TEXT(12200000,“0.00E+00”) | 科学记数法,如 1.22E+07 |
=TEXT(1234567898,"[<=9999999]###-####; (###) ###-####") | 特殊(电话号码),如 (123) 456-7898 |
=TEXT(1234,“0000000”) | 添加前导零 (0),如 0001234 |
12° 34’ 56’’ | 自定义 - 纬度/经度 |
例子2:能否像在单元格中使用 Alt+Enter 一样,使用 TEXT 函数添加新行(换行符)?
可以,但是需要几个步骤。 首先,选择要执行此操作的一个或多个单元格,按 Ctrl+1 调出“格式”>“单元格”对话框,然后在“对齐”>“文本控制”中勾选“自动换行”选项。 接下来,调整已完成的 TEXT 函数,使其包括你希望具有换行符的 ASCII 函数 CHAR(10)。 可能需要根据最终结果的对齐方式调整列宽。
本例中,我们使用: ="Today is: "&CHAR(10)&TEXT(TODAY(),“mm/dd/yy”)
13x27 TEXTJOIN 函数
office2019之后才可用,TEXTJOIN 函数将多个区域和/或字符串的文本组合起来,并包括你在要组合的各文本值之间指定的分隔符。 如果分隔符是空的文本字符串,则此函数将有效连接这些区域。
语法
TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)
参数 | 说明 |
---|---|
delimiter 必需 | 文本字符串,或者为空,或用双引号引起来的一个或多个字符,或对有效文本字符串的引用。 如果提供一个数字,则将被视为文本。 |
ignore_empty 必需 | 如果为 TRUE,则忽略空白单元格。 |
text1 必需 | 要联接的文本项。 文本字符串或字符串数组,如单元格区域。 |
text2, … 可选 | 要联接的其他文本项。 文本项最多可以包含 252 个文本参数包括text1在内。 每个参数可以是一个文本字符串或字符串数组,如单元格区域。 |
注意:
- 如果结果字符串超过32767个字符(单元格限制),则 TEXTJOIN 返回 #VALUE! 错误。
例子1:
币种 | |
---|---|
美元 | |
澳元 | |
人民币 | |
港币 | |
以色列谢克尔 | |
韩元 | |
俄罗斯卢布 | |
公式 | = TEXTJOIN (",",TRUE,A2: A8) |
结果 | 美国元,澳大利亚元,中文人民币,香港元,以色列谢克尔,南朝鲜语赢得,俄罗斯卢布 |
例子2:
A’s | B’s |
---|---|
a1 | b1 |
a2 | b2 |
a4 | b4 |
a5 | b5 |
a6 | b6 |
a7 | b7 |
Formula: | =TEXTJOIN(", ", TRUE, A2:B8) |
Result: | a1, b1, a2, b2, a4, b4, a5, b5, a6, b6, a7, b7 If ignore_empty=FALSE, the result would be: a1, b1, a2, b2, , , a4, b4, a5, b5, a6, b6, a7, b7 |
例子3:注意delimiter为多个字符
City | State | Postcode | Country |
---|---|---|---|
Tulsa | OK | 74133 | US |
Seattle | WA | 98109 | US |
Iselin | NJ | 08830 | US |
Fort Lauderdale | FL | 33309 | US |
Tempe | AZ | 85285 | US |
end | |||
, | , | , | ; |
Formula: | =TEXTJOIN(A8:D8, TRUE, A2:D7) | ||
Result: | Tulsa,OK,74133,US;Seattle,WA,98109,US;Iselin,NJ,08830,US;Fort Lauderdale,FL,33309,US;Tempe,AZ,85285,US;end |
13x28 TRIM 函数
除了单词之间的单个空格之外,移除文本中的所有空格。 对于从另一个可能含有不规则间距的应用程序收到的文本,可以使用 TRIM。
语法
TRIM(text)
参数 | 说明 |
---|---|
text 必需 | 要从中移除空格的文本。 |
注意:
重要: TRIM 函数专用于剪裁文本中的 7 位 ASCII 空格字符(值 32)。 在 Unicode 字符集中,存在名为不间断空格字符的附加空格字符,其十进制值为 160。 通常在网页中使用此字符作为 HTML 实体 。 TRIM 函数本身不会删除此不间断空格字符。 有关如何从文本中剪裁这两个空格字符的示例,请参阅清理数据的十大方法。
例子:
公式 | 说明 | 结果 |
---|---|---|
=TRIM(" First Quarter Earnings ") | 从公式的文本中移除前导空格和尾随空格 (First Quarter Earnings) | First Quarter Earnings |
13x29 UNICHAR 函数
返回给定数值引用的 Unicode 字符。
语法
UNICHAR(number)
参数 | 说明 |
---|---|
number 必需 | Number 为代表字符的 Unicode 数字。 |
注意:
- 返回的 Unicode 字符可以是一个字符串,比如以 UTF-8 或 UTF-16 编码的字符串。
- 如果 Unicode 数字为部分代理项且数据类型无效,则 UNICHAR 返回错误值 #N/A。
- 如果数字的数值超出允许范围,则 UNICHAR 返回错误值 #VALUE! 。
- 如果数字为零 (0),则 UNICHAR 返回错误值 #VALUE! 。
例子:
公式 | 说明 | 结果 |
---|---|---|
=UNICHAR(66) | 返回由 Unicode 数字 66 表示的字符(大写字母 B)。 | B |
=UNICHAR(32) | 返回由 Unicode 数字 32 表示的字符(空格字符)。 | 空格字符 |
=UNICHAR(0) | Unicode 数字 0 将返回错误值 #VALUE! | #VALUE! |
13x30 UNICODE 函数
返回对应于文本的第一个字符的数字(代码点)。
语法
UNICODE(text)
参数 | 说明 |
---|---|
text 必需 | Text 是要获得其 Unicode 值的字符。 |
注意:
如果文本包含部分代理项或数据类型无效,则 UNICODE 返回错误值 #VALUE! 。
例子:
公式 | 说明 | 结果 |
---|---|---|
=UNICODE(" ") | 返回由空格字符(一个双引号包围的空格)表示的 Unicode 数字 (32)。 | 32 |
=UNICODE(“B”) | 返回由大写字母 B 表示的 Unicode 数字 (66)。 | 66 |
13x31 UPPER 函数
将文本转换为大写字母。
语法
UPPER(text)
参数 | 说明 |
---|---|
text 必需 | 要转换为大写字母的文本。 文本可以是引用或文本字符串。 |
例子:
数据 | ||
---|---|---|
total | ||
Yield | ||
公式 | 说明 | 结果 |
=UPPER(A2) | 返回单元格 A2 中文字的所有大写字母。 | TOTAL |
=UPPER(A3) | 返回单元格 A3 中文字的所有大写字母。 | YIELD |
13x32 VALUE 函数
将表示数字的文本字符串转换为数字。
语法
VALUE(text)
参数 | 说明 |
---|---|
text 必需 | 用引号括起来的文本或包含要转换文本的单元格的引用。 |
注意:
- 文本可以是 Microsoft Excel 可识别的任意常量数字、日期或时间格式。 如果文本不是这些格式中的一种, VALUE 将返回 #VALUE! 错误值。
- 由于 Excel 会根据需要自动将文本转换为数字,因此通常无需在公式中使用 VALUE 函数。 提供此函数是为了与其他电子表格程序兼容。
例子:
公式 | 说明 | 结果 |
---|---|---|
=VALUE("$1,000") | 文本字符串的等值数字 “$1,000” | 1000 |
=VALUE(“16:48:00”)-VALUE(“12:00:00”) | 与 4 小时 48 分钟(即,“16:48:00”-“12:00:00”)相当的序列号(0.2 = 4:48)。 | 0.2 |
更多推荐
Excel函数大全-13文本函数
发布评论