Skip to main content

Excel TEXTBEFORE 函數

Author: Siluvia Last Modified: 2025-05-12

TEXTBEFORE 函數返回在給定子字符串或分隔符之前的文本。

注意:此函數僅在 Microsoft 365 的 Insider 頻道中的 Excel 可用。

show the usage of Excel TEXTBEFORE function

語法

=TEXTBEFORE(文字, 分隔符, [實例編號], [匹配模式], [匹配結尾], [未找到時])

參數

文字(必填):您要提取文本的原始文本字符串。可以提供為:
-- 文本字符串;
或者
-- 單元格引用
分隔符(必填):您希望提取其前面文本的子字符串或分隔符;
實例編號(可選):分隔符在文本中的實例;
-- 默認為 1,這意味著當文本字符串中出現重複分隔符時,將提取第一個分隔符之前的文本。
-- 如果您想從文本字符串的末尾開始搜索文本,請為此參數指定一個負數。
匹配模式(可選):確定分隔符是否區分大小寫;
-- 0(默認):區分大小寫。
-- 1:不區分大小寫。
匹配結尾(可選):將文本結尾視為分隔符。默認為 0。
-- 0(默認):不要將分隔符與文本結尾進行匹配。
-- 1:將分隔符與文本結尾進行匹配。
未找到時(可選):未找到匹配項時返回的值。默認為 #N/A 錯誤值。

備註

1) 它與 TEXTAFTER 函數相反。
2) 當分隔符為空時,您將得到以下結果之一:
-- 從文本字符串左側搜索時(實例編號為正),返回整個文本字符串;
-- 從文本字符串右側搜索時(實例編號為負),返回空文本;
3) 如果滿足以下任一條件,則會發生 #VALUE! 錯誤
-- 實例編號 = 0;
-- 實例編號大於文本長度;
4) 如果滿足以下任一條件,則會發生 #N/A 錯誤
-- 文本字符串中不存在分隔符
-- 實例編號大於文本字符串中分隔符的出現次數。

返回值

它返回提取的文本字符串。

範例

在此,我們以下列文本列表為例,演示如何使用 TEXTBEFORE 函數在不同條件下提取文本。

show the usage of Excel TEXTBEFORE function
#範例1:在 Excel 中提取第一個分隔符之前的文本

要提取指定單元格中第一個逗號之前的文本,請按如下方式應用 TEXTBEFORE 函數。

選擇要提取文本的第一個文本單元格旁邊的單元格,輸入以下公式並按下 Enter 鍵以獲取結果。選擇此結果單元格,向下拖動其 自動填充控制柄 以獲取其餘結果。

=TEXTBEFORE(A2,",")

show the usage of Excel TEXTBEFORE function

注意:在此情況下,公式中只需要前兩個參數。

#範例2:在 Excel 中提取第 N 個分隔符之前的文本

默認情況下,即使文本中有許多分隔符,TEXTBEFORE 函數也會提取第一個分隔符之前的文本。如果您想提取第 N 個分隔符之前的文本,例如在這種情況下的第二個逗號,可以按如下方式應用 TEXTBEFORE 函數。

選擇要提取文本的第一個文本單元格旁邊的單元格,輸入以下公式並按下 Enter 鍵以獲取結果。選擇此結果單元格,向下拖動其 自動填充控制柄 以獲取其餘結果。

=TEXTBEFORE(A2,",",2)

show the usage of Excel TEXTBEFORE function

注意:要提取第 n 個分隔符之前的文本,只需將 Instance_num 參數指定為相應的數字即可。在此情況下,我輸入數字 2 表示第二個逗號。

#範例3:在 Excel 中提取給定子字符串之前(不區分大小寫)的文本

默認情況下,TEXTBEFORE 函數是區分大小寫的。如果您想提取不區分大小寫的文本,可以按如下方式應用 TEXTBEFORE 函數。

選擇要提取文本的第一個文本單元格旁邊的單元格,輸入以下公式並按下 Enter 鍵以獲取結果。選擇此結果單元格,向下拖動其 自動填充控制柄以獲取其餘結果。

=TEXTBEFORE(A2,"Consultant",1,1)

show the usage of Excel TEXTBEFORE function

注意:要在 TEXTBEFORE 函數中禁用區分大小寫,需要將 Match_mode 參數指定為 1。在此情況下,將提取出現在子字符串“Consultant”或“CONSULTANT”之前的文本。

#範例4:當 TEXTBEFORE 沒有匹配到任何文本時返回自定義值

如上圖所示,默認情況下,當沒有找到匹配項時,TEXTBEFORE 函數返回 #N/A。如果希望在 TEXTBEFORE 沒有匹配到任何文本時返回自定義值,可以按如下方式應用 TEXTBEFORE 函數。

選擇要提取文本的第一個文本單元格旁邊的單元格,輸入以下公式並按下 Enter 鍵以獲取結果。選擇此結果單元格,向下拖動其 自動填充控制柄 以獲取其餘結果。

=TEXTBEFORE(A2,"Consultant",1,1,,"text not found")

show the usage of Excel TEXTBEFORE function

注意:在此公式中,“text not found” 是當 TEXTBEFORE 函數未找到匹配文本時返回的自定義值。您可以根據需要更改它。

#範例5:在 Excel 中提取最後一個分隔符之前的文本

通常,您可以指定 instance_num 參數來提取文本字符串中第 n 個分隔符之前的文本。如果需要提取最後一個分隔符之前的文本,完成此任務最簡單的方法是指定該參數為負數。

例如,要提取下表中最後一個逗號之前的文本,TEXTBEFORE 函數可以更改如下。

選擇一個單元格(在此情況下為 B2),輸入以下公式並按下 Enter 鍵。選擇此結果單元格並向下拖動其 自動填充控制柄 以獲取其餘結果。

=TEXTBEFORE(A2,",",-1)

show the usage of Excel TEXTBEFORE function

注意:這裡公式中的 -1 幫助從末尾搜索原始文本字符串。


相關函數

Excel TEXTAFTER 函數
TEXTAFTER 函數提取並返回出現在給定子字符串或分隔符之後的文本。

Excel TEXTSPLIT 函數
TEXTSPLIT 函數通過給定的分隔符將文本字符串拆分為跨列和行的數組。

Excel VALUETOTEXT 函數
VALUETOTEXT 函數將任何指定的值轉換為文本。


最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

? Kutools AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數…來徹底改變數據分析方式。
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  四捨五入無需公式 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文本)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文字工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行分割Excel單元格 ...)  |  ... 還有更多

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...


Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。