一、字符定位
精確查找指定字符在一個字符串中的位置是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)