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