傳回在特定字元或字串之前出現的文字。 它與 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)

另請參閱

文字函數 (參照)

TEXTSPLIT 函數

TEXTAFTER 函數

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。