版本資訊
傳回在特定字元或字串之前出現的文字。 它與 TEXTAFTER 函數相反。
語法
=TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])
TEXTBEFORE 函數語法具有下列引數:
正文 你正在搜尋的文字。 不允許使用萬用字元。 如果文字為空白字串,Excel 將傳回空白文字。 必要。
分隔符 就是標示你想要提取之前的文字。 必要。
instance_num 你想提取文本的分隔符實例。 根據預設,instance_num = 1。 負數會從結尾開始搜尋文字。 選擇性。
match_mode 判斷文本搜尋是否區分大小寫。 預設值會區分大小寫。 選擇性。 請輸入下列其中一項:
- 0 大小寫區分。
- 1 不敏感於小字。
match_end 將文字結尾視為分隔符。 根據預設,文字是完全相符項目。 選擇性。 輸入下列項目:
- 0 不要將分隔符與文字結尾匹配。
- 1 將分隔符與文本結尾相匹配。
if_not_found 若未找到匹配,則返回價值。 根據預設,會傳回 #N/A。 選擇性。
註解
使用空白分隔符號值搜尋時,TEXTBEFORE 會立即符合。 從前面搜尋時會返回空白文字 (如果 instance_num 為正數) ,從結尾搜尋時會返回整個文字 (如果 instance_num 為負數)。
| 範例 | 結果 |
|---|---|
| =文字前 (「紅帽,紅帽」、「兜帽」) | 紅騎 |
| =文字前 (「紅帽,紅帽」、「) | |
| =文字前 (「紅帽,紅帽」,「」,-1) | 紅帽,紅帽 |
錯誤
- Excel 會傳回 #VALUE! 如果 instance_num = 0 或 instance_num 大於文字的長度,會發生錯誤。
- 如果分隔號未包含在文字中,Excel 會傳回 #N/A 錯誤。
- 如果 instance_num 大於文字中分隔符號的出現次數,Excel 會傳回 #N/A 錯誤。
範例
請複製下列每個表格中的範例資料,並貼到新 Excel 工作表中的儲存格 A1。 如有需要,您可以調整欄寬來查看所有資料。
範例 1
| 小紅帽 | ||
|---|---|---|
| 資料 | ||
| 小紅帽 | ||
| 公式 | 結果 | |
| =TEXTBEFORE(A2,"Red") | 小 | |
| =TEXTBEFORE(A3,"Red") | #N/A | |
| =TEXTBEFORE(A3,"red",2) | 小紅帽 | |
| =TEXTBEFORE(A3,"red",-2) | 小 | |
| =TEXTBEFORE(A3,"Red",,FALSE) | #N/A | |
| =TEXTBEFORE(A3,"red",3) | #N/A |
範例 2
| 資料 | |
|---|---|
| 馬可斯‧奧理略 (Marcus Aurelius) | |
| 蘇格拉底 (Socrates) | |
| 伊曼努爾‧康德 (Immanuel Kant) | |
| 公式 | 結果 |
| =TEXTBEFORE(A2," ",,,1) | 馬可斯 (Marcus) |
| =TEXTBEFORE(A3," ",,,0) | #N/A |
| =TEXTBEFORE(A3," ",,,1) | 蘇格拉底 (Socrates) |
| =TEXTBEFORE(A4," ",,,1) | 伊曼努爾 (Immanuel) |