本节课,我们继续讲解第四个类别:文本函数,剩余的函数内容。
11.LEN、LENB 函数
LEN 返回文本字符串中的字符个数。
LENB 返回文本字符串中用于代表字符的字节数。
语法:LEN(text)
LENB(text)
text 必需。 要查找其长度的文本。 空格将作为字符进行计数。
12.LOWER 函数
将一个文本字符串中的所有大写字母转换为小写字母。
语法:LOWER(text)
text 必需。 要转换为小写字母的文本。 LOWER 不改变文本中的非字母字符。
13.MID、MIDB 函数
MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
MIDB 根据您指定的字节数,返回文本字符串中从指定位置开始的特定数目的字符。
无论默认语言设置如何,函数 MID 始终将每个字符(不管是单字节还是双字节)按 1 计数。当启用支持 DBCS 的语言的编辑并将其设置为默认语言时,函数 MIDB 会将每个双字节字符按 2 计数。 否则,MIDB 会将每个字符按 1 计数。
语法:MId(text, start_num, num_chars)
MIDB(text, start_num, num_bytes)
text 必需。 包含要提取字符的文本字符串。
start_num 必需。 文本中要提取的第一个字符的位置。 文本中第一个字符的 start_num 为 1,以此类推。
如果start_num大于文本长度,则 MID/MIDB 将返回“” (空文本) 。如果start_num小于文本长度,但start_num加num_chars超过文本长度,则 MID/MIDB 将返回字符到文本末尾。如果start_num小于 1,则 MID/MIDB 返回 #VALUE! 。
num_chars MID 是必需的。 指定希望 MID 从文本中返回字符的个数。
如果num_chars为负数,则 MID 返回 #VALUE!。
Num_bytes MIDB 必需。 指定希望 MIDB 从文本中返回字符的个数(字节数)。
如果num_bytes为负数,则 MIDB 返回 #VALUE!。
14.PHonETIC 函数
提取文本字符串中的拼音 (furigana) 字符。该函数只适用于日文版。
语法:PHonETIC(reference)
引用 必需。 文本字符串或对单个单元格或包含 furigana 文本字符串的单元格区域的引用。
如果 reference 为单元格区域,则返回区域左上角单元格中的 furigana 文本字符串。如果 reference 为不相邻单元格的区域,将返回错误值 #N/A。
15.PROPER 函数
将文本字符串的首字母以及文字中任何非字母字符之后的任何其他字母转换成大写。 将其余字母转换为小写。
语法:PROPER(text)
text 必需。 用引号括起来的文本、返回文本值的公式,或者对包含要进行部分大写转换文本的单元格的引用。
16.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 中字符的文本。
17.REPT 函数
将文本重复一定次数。 使用 REPT 来在单元格中填充文本字符串的大量实例。
语法:REPT(text, number_times)
text 必需。 需要重复显示的文本。
Number_times 必需。 用于指定文本重复次数的正数。
如果 number_times 为 0(零),则 REPT 返回 ""(空文本)。如果 number_times 不是整数,将被截尾取整。REPT 函数结果的长度不能超过 32,767 个字符,否则 REPT 返回 #VALUE!。
18.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。
19.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 参数中从之开始搜索的字符编号。
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,则会计算跳过的字符。
20.SUBSTITUTE 函数
在文本字符串中用 new_text 替换 old_text。 如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;如果需要在某一文本字符串中替换特定位置处的任意文本,请使用函数 REPLACE。
语法:SUBSTITUTE(text, old_text, new_text, [instance_num])
text 必需。 需要替换其中字符的文本,或对含有文本(需要替换其中字符)的单元格的引用。
old_text 必需。 需要替换的文本。
new_text 必需。 用于替换 old_text 的文本。
Instance_num 可选。 指定要将第几个 old_text 替换为 new_text。 如果指定了 instance_num,则只有满足要求的 old_text 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。
21.T 函数
返回值引用的文字。
语法:T(value)
值 必需。 要测试的值。
如果值是文字或引用文字,则 T 返回值。 如果值未引用文字,则 T 返回 ""(空文字)。由于 Microsoft Excel 会根据需要自动转换值,因此通常无需在公式中使用 T 函数。
22.TEXT 函数
TEXT 函数可通过格式代码向数字应用格式,进而更改数字的显示方式。 如果要按更可读的格式显示数字,或者将数字与文本或符号组合,它将非常有用。
TEXT 函数将数字转换为文本,这可能使得在以后的计算中难以引用。 最好将原始值保留在一个单元格中,然后在另一个单元格中使用 TEXT 函数。 随后如果需要构建其他公式,请始终引用原始值,而不是 TEXT 函数结果。
语法:TEXT(value, format_text)
value:要转换为文本的数值。
format_text:一个文本字符串,定义要应用于所提供值的格式。
TEXT 函数最简单的形式表示:=TEXT(Value you want to format, "Format code you want to apply")
=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
=TEXT(123456,"##0° 00' 00''");自定义 - 纬度/经度
TEXT 函数很少单独使用,通常与其他内容配合使用。 假设想合并文本和数值,如“报告打印日期:12/03/14”或“每周收入: $66,348.72”。 可将此内容手动键入 Excel,但这违背了让 Excel 执行此操作的目的。 遗憾的是,在合并文本和带格式的数字(如日期、时间、货币等)时,Excel 不知道具体的显示方式,因此会省去数字格式。 这便是 TEXT 函数的价值所在,因为它能使用“格式代码”(如日期格式“YY/MM/DD”)强制 Excel 按照所希望的方式设置值的格式。
以下示例将显示不使用 TEXT 函数合并文本和数字的结果。
更新的公式为:Cell C2:=A2&" "&TEXT(B2,"mm/dd/yy") - Date format
23.TRIM 函数
除了单词之间的单个空格之外,移除文本中的所有空格。 对于从另一个可能含有不规则间距的应用程序收到的文本,可以使用 TRIM。TRIM 函数专用于剪裁文本中的 7 位 ASCII 空格字符(值 32)。 在 Unicode 字符集中,存在名为不间断空格字符的附加空格字符,其十进制值为 160。TRIM 函数本身不会删除此不间断空格字符。
语法:TRIm(text)
text 必需。 要从中移除空格的文本。
24.UPPER 函数
将文本转换为大写字母。
语法:UPPER(text)
text 必需。 要转换为大写字母的文本。 文本可以是引用或文本字符串。
25.VALUE 函数
将表示数字的文本字符串转换为数字。
语法:VALUE(text)
text 必需。 用引号括起来的文本或包含要转换文本的单元格的引用。
文本可以是 Microsoft Excel 识别的任何常量数字、日期或时间格式。 如果文本不是这些格式之一,则 VALUE 将返回 #VALUE!。由于 Excel 会根据需要自动将文本转换为数字,因此通常无需在公式中使用 VALUE 函数。