KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

Excel TEXTBEFORE 函數

作者Siluvia修改日期

TEXTBEFORE 函數會傳回指定子字串或分隔符號前方的文本。

注意:此函數僅適用於 Microsoft 365 Excel 的 Insider 頻道。

展示 Excel TEXTBEFORE 函數的用法

語法

=TEXTBEFORE()text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])

引數

Text(必要):您要從中提取文本的原文本字串。可輸入為:
-—— 文字字串;
-—— 一個儲存格引用
Delimiter(必要):您要提取其前方文字的子字串或分隔符號;
Instance_num(選用):文字中分隔符號的出現次序;
-—— 預設為 1,表示當文字字串中出現重複的分隔符號時,會提取第一個分隔符號前的文字。
-—— 若想從文字字串結尾開始搜尋文字,請為此參數指定負數。
Match_mode(選用):決定分隔符號是否區分大小寫;
-——0(預設):區分大小寫。
-——1:不區分大小寫。
Match_end(選用):將文字結尾視為分隔符號。預設為 0.
-——0(預設):不分隔文字結尾。
-——1:將文字結尾視為分隔符號。
If_not_found(選用):找不到相符項目時要傳回的值。預設為 #N/A 錯誤值。

備註

1)此函數與 TEXTAFTER函數相反。
2)當分隔符號為空時,將得到下列其中一種結果:
-—— 當從文字字串左側搜尋(instance_num 為正數)時,會傳回整個文字字串;
-—— 當從文字字串右側搜尋(instance_num 為負數)時,會傳回空文字;
3)當符合下列任一條件時,會發生 #VALUE! 錯誤
-——Instance_num= 0;
-——Instnce_num 大於文字長度;
4)當符合下列任一條件時,會發生 #N/A 錯誤
-——Delimiter 在文字字串中不存在;
-——Instance_num 大於文字字串中分隔符號的出現次數。

返回值

它將傳回所提取的文字字串。

範例

以下以文本列表為例,說明如何根據不同條件運用 TEXTBEFORE 函數來提取所需文字。

展示 Excel TEXTBEFORE 函數的用法
#範例 1:在 Excel 中提取第一個分隔符號前的文字

若要提取指定儲存格中第一個逗號前的文字,請依下列方式套用 TEXTBEFORE 函數。

選取第一個文字儲存格旁邊的儲存格(即您要提取文字的位置),輸入下列公式後按下 Enter 鍵取得結果。選取此結果儲存格,並向下拖曳其填滿控點。自動填滿控制點以取得其餘結果。

=TEXTBEFORE(A2,",")

展示 Excel TEXTBEFORE 函數的用法

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

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

預設情況下,TEXTBEFORE 函數會提取文字字串中第一個分隔符號前的文字,即使文字中有多個分隔符號亦然。若您想提取第 N 個分隔符號(例如本例中的第二個逗號)之前的文字,可依下列方式套用 TEXTBEFORE 函數。

選取第一個文字儲存格旁邊的儲存格(即您要提取文字的位置),輸入下列公式後按下 Enter 鍵取得結果。選取此結果儲存格,並向下拖曳其填滿控點。自動填滿控制點以取得其餘結果。

=TEXTBEFORE(A2,",",2)

展示 Excel TEXTBEFORE 函數的用法

注意:若要提取第 n 個分隔符號前的文字,只需將 Instance_num 引數設為對應的數字即可。本例中,我輸入數字 2,代表第二個逗號。

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

預設情況下,TEXTBEFORE 函數為區分大小寫。若您希望提取文本且不區分大小寫,可依下列方式套用 TEXTBEFORE 函數。

選取第一個文字儲存格旁邊的儲存格(即您要提取文字的位置),輸入下列公式後按下 Enter 鍵取得結果。選取此結果儲存格,並向下拖曳其填滿控點。自動填滿控制點以取得其餘結果。

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

展示 Excel TEXTBEFORE 函數的用法

注意:若要在 TEXTBEFORE 函數中停用區分大小寫功能,請將 Match_mode 引數設為 1. 本例將提取子字串「Consultant」或「CONSULTANT」之前的所有文字。

#範例 4:當 TEXTBEFORE 找不到相符文字時傳回自訂值

如上圖所示,TEXTBEFORE 函數預設在找不到相符項目時會傳回 #N/A。若要在 TEXTBEFORE 找不到相符文字時傳回自訂值,可依下列方式套用 TEXTBEFORE 函數。

選取第一個文字儲存格旁邊的儲存格(即您要提取文字的位置),輸入下列公式後按下 Enter 鍵取得結果。選取此結果儲存格,並向下拖曳其填滿控點。自動填滿控制點以取得其他結果。

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

展示 Excel TEXTBEFORE 函數的用法

注意:在此公式中,「text not found」為 TEXTBEFORE 函數在找不到相符文字時所傳回的自訂值,您可依需求自行修改。

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

通常,您可以指定 instance_num 參數來提取文字字串中第 n 個分隔符號前的文字。若需提取最後一個分隔符號前的文字,最簡單的方法是將此參數指定為負數。

例如,若要提取下方表格中最後一個逗號之前的文字,可將 TEXTBEFORE 函數調整如下。

選取一個儲存格(本例中為 B2),輸入下列公式後按下 Enter 鍵。選取此結果儲存格,並向下拖曳其自動填滿控制點以取得其餘結果。

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

展示 Excel TEXTBEFORE 函數的用法

注意:公式中的 -1 表示從文字結尾開始搜尋原始字串。


相關函數

Excel TEXTAFTER 函數
TEXTAFTER 函數可提取並傳回指定子字串或分隔符號之後的內容,輕鬆掌握文字處理技巧!

Excel TEXTSPLIT 函數
TEXTSPLIT 函數能根據指定的分隔符號,將文字字串自動分割成陣列,並填入對應的欄與列中,讓資料整理更輕鬆高效!

Excel VALUETOTEXT 函數
VALUETOTEXT 函數能將任何指定的值輕鬆轉換為文字,讓資料處理更靈活!


最佳 Office 生產力工具

Kutools for Excel-助您脫穎而出

🤖KUTOOLS AI 助手:根據以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依性下拉式清單    多重選擇下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單寄送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools-支援英文、西班牙文、德文、法文、中文及 40+ 種其他語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能觸手可及……


Office Tab-在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯功能

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 當您同時檢視與編輯多份文件時,生產力提升 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。