一、字符定位
精确查找指定字符在一个字符串中的位置是Excel函数运用中的一项重要技巧,尤其是在截取字符串、替换字符串等文本处理过程中,精确定位技术更是必不可少。
FIND 函数
- 说明
函数 FIND 用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值,该值从第二个文本串的第一个字符算起。 - 语法
FIND(find_text, within_text, [start_num])
- 参数
find_text 必需。 要查找的文本。
within_text 必需。 包含要查找文本的文本。
start_num 可选。 指定开始进行查找的字符。 within_text 中的首字符是编号为 1 的字符。 如果省略 start_num,则假定其值为 1。
- 示例
公式 | 说明 |
---|---|
=FIND("M",A2) | 单元格 A2 中第一个“M”的位置 |
=FIND("m",A2) | 单元格 A2 中第一个“m”的位置 |
=FIND("M",A2,3) | 从单元格 A2 的第三个字符开始查找第一个“M”的位置 |
二、字符串的提取与合并
1. 字符串的提取
常用于提取的函数包括LEFT函数、RIGHT函数和MID函数。
LEFT函数
- 说明
LEFT 从文本字符串的第一个字符开始返回指定个数的字符。 - 语法
LEFT(text, [num_chars])
- 参数
Text 必需。 包含要提取的字符的文本字符串。
num_chars 可选。 指定要由 LEFT 提取的字符的数量。
- num_chars 必须大于或等于零。
- 如果 num_chars 大于文本长度,则 LEFT 返回全部文本。
- 如果省略 num_chars,则假定其值为 1。
- 示例
公式 | 说明 |
---|---|
=LEFT(A2,4) | A2单元格中的前四个字符 |
=LEFT(A3) | A3单元格中的第一个字符 |
RIGHT函数
-
说明
RIGHT函数的用法与LEFT函数类似,但是从右侧开始取字符,即倒数的N个字符。例如下面的公式返回结果为“HOME”:=RIGHT("This is my HOME",4)
MID函数
- 说明
如果需要提取的内容位于字符串的中部,则可以使用MID函数。
MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。 - 语法
MID(text, start_num, num_chars)
- 参数
text 必需。 包含要提取字符的文本字符串。
start_num 必需。 文本中要提取的第一个字符的位置。 文本中第一个字符的 start_num 为 1,以此类推。
num_chars 必需。 指定希望 MID 从文本中返回字符的个数。
- 示例
公式 | 说明 |
---|---|
=MID(A2,1,5) | 从 A2 内字符串中第 1 个字符开始,返回 5 个字符。 |
LEN函数
- 说明
LEN函数可以获取目标字符串的字符数。 - 语法
LEN(text)
- 参数
Text 必需。 要查找其长度的文本。 空格将作为字符进行计数。
2. 字符串的合并
对字符串进行合并串联,比较常用的方法是使用 " & " 连接符。
例如下面公式的运算结果为字符串“你好!北京!”:
="你好!" & "北京!"
三、替换字符
1. SUBSTITUTE 函数
- 说明
在文本字符串中用 new_text 替换 old_text。 如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;
注意:SUBSTITUTE函数需要明确所需替换的目标字符,但是可以忽略其在字符串中的具体位置。 - 语法
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。
-
示例
原数据:“你好!北京!”位于A2单元格。 SUBSTITUTE(A2,"北京","上海") 结果:你好!上海!
2. REPLACE 函数
- 说明
根据指定的字符数,REPLACE 将部分文本字符串替换为不同的文本字符串。如果需要在某一文本字符串中替换特定位置处的任意文本,请使用函数 REPLACE。
注意:REPLACE函数不需要制定替换时的具体目标字符,而只需确定其位置。 - 语法
REPLACE(old_text, start_num, num_chars, new_text)
- 参数
old_text 必需。 要替换其部分字符的文本。
start_num 必需。 old_text 中要替换为 new_text 的字符位置。
num_chars 必需。 old_text 中希望 REPLACE 使用 new_text 来进行替换的字符数。
new_text 必需。 将替换 old_text 中字符的文本。
- 示例
原字符串:你好!北京!,位于E7单元格 。
公式 | 描述 | 结果 |
---|---|---|
=REPLACE(E7,FIND("!",E7)+1,4,"上海!广州!天津!") | 从第一个出现!的位置后面的字符开始,使用“上海!广州!天津!”替换四个字符 | 你好!上海!广州!天津! |
四、插入字符
说明
REPLACE函数的第 3 参数如果取值为零,此函数就起到插入字符串的作用,而不再替换原有文本中的字符。-
示例
原有内容为“你好!北京!”,用公式将字符串内容替换为“你好!北京!上海!广州!天津!”,可以使用以下公式:=REPLACE(E7,FIND("!",E7)+1,0,"上海!广州!天津!")
五、清理字符
1. TRIM 函数
- 说明
TRIM函数可以清除字符串中位于头尾出的空格,以及在字符串中多于一个以上的连续重复空格,非常适合英文字符串的修正处理。
注意:利用TRIM函数可以清理多余空格的特性,在字符串的分离和提取上有很好的应用。 - 语法
TRIM(text)
2. CLEAN 函数
- 说明
删除文本中所有不能打印的字符。 对从其他应用程序导入的文本使用 CLEAN,将删除其中含有的当前操作系统无法打印的字符。 例如,可以使用 CLEAN 删除某些通常出现在数据文件开头和结尾处且无法打印的低级计算机代码。 - 语法
CLEAN(text)