Excel - TEXTBEFORE 函式



TEXTBEFORE 函式

Excel 的TEXTBEFORE函式用於檢索輸入語句中分隔符/字元出現之前的部分。在 Excel 2009 和 2007 等舊版本中執行此函式將無法滿足您的資料提取和清理目的。字串操作的三個主要文字函式是 TEXTBEFORE、TEXTAFTER 和 TEXTSPLIT,您可以在 Microsoft Excel 的最新版本中實現這些函式。例如,您可以透過 TEXTBEFORE 函式檢索銷售主管的名字。

相容性

TEXTBEFORE函式僅在以下版本的 Excel 中可用:

  • Microsoft 365 版 Excel
  • 適用於 Mac 的 Microsoft 365 版 Excel
  • 網頁版 Excel

語法

TEXTBEFORE函式的語法如下:

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

引數

您可以將以下引數與TEXTBEFORE函式一起使用:

引數 描述 必填/可選
文字 用於文字操作的文字字串。 必填
分隔符 在輸入字串中搜索的分隔符/字元/文字,充當標記,並在其之前檢索文字的一部分。 必填
instance_num 它指定分隔符的例項以獲取結果文字。預設值為 1。如果其值為負數,則從後端進行文字搜尋。 可選
match_mode 其值可以是 0 或 1。預設情況下,0 用於區分大小寫;否則,使用 1 表示不區分大小寫。 可選
match_end 它將文字後端與分隔符匹配。使用 1 表示精確匹配;否則,使用 0 表示與特定分隔符不匹配的文字。 可選
If_not_found 如果輸入文字中未出現匹配的文字/分隔符,則檢索一個常數值。 可選

如何在 Excel 中新增 TEXTBEFORE 函式?

1. 首先,在 Excel 365 或網頁版 Excel 中開啟一個新工作表。

2. 雙擊目標單元格,鍵入 = 符號,然後編寫TEXTBEFORE(B4, 分隔符/文字)。您可以在此函式中指定其他可選引數。

3. 最後,按 Enter 鍵以獲取結果。

Excel 中的 TEXTBEFORE 函式無法工作

  • 如果在輸入字串中未識別分隔符或文字,則 TEXTBEFORE 函式將無法工作,並將返回#N/A
  • 如果instance_num大於輸入文字的長度或等於零,則 TEXTBEFORE 函式將返回#VALUE!
  • 在 TEXTBEFORE 函式的第一個引數中提供的單元格引用錯誤會導致錯誤值。
  • 如果您使用 Excel 365 以外的 Excel 版本,則 TEXTBEFORE 函式將無法執行。
  • 如果您在match_mode引數中使用 0 或 1 以外的整數值,則 TEXTBEFORE 函式將檢索#VALUE!
  • 如果您在match_end引數中設定了 0 或 1 以外的負數或正數,則 TEXTBEFORE 函式將檢索#VALUE!

TEXTBEFORE 函式示例

練習以下示例以瞭解如何在 Excel 中使用TEXTBEFORE函式。

示例 1

在此示例中,在C2單元格中輸入公式=TEXTBEFORE(B2,"-")

TEXTBEFORE Function

按下 Enter 鍵後,結果值為Raw,由 TEXTBEFORE 函式檢索,它是輸入文字字串中分隔符之前的部分。

TEXTBEFORE Function

示例 2:文字字串中的多個分隔符

如果輸入字串包含多個分隔符,則可以使用陣列在第二個引數中指定所有分隔符。B4單元格中編寫的語句包含很多分隔符。在C4單元格中編寫公式=TEXTBEFORE(B4,{"'","'","-"})。在此第二個引數中,所有分隔符都用雙引號括起來,並用逗號分隔。

Multiple Delimiters in Text String

因此,輸出為Submit customer

Multiple Delimiters in Text String

示例 3:不區分大小寫

預設情況下,TEXTBEFORE 函式區分大小寫,這意味著大寫和小寫字元以不同的方式處理。

您在D3單元格中輸入公式=TEXTBEFORE(B3,"park")

Case Insensitive

按下 Enter 鍵後,TEXTBEFORE 函式將返回 #N/A 錯誤,因為第二個引數是“park”,由於區分大小寫,在輸入字串中未識別它。輸入字串中的 p 字母是大寫字母,對其進行了不同的解釋。

Case Insensitive 1

為了避免此問題,您可以在執行 TEXTBEFORE 函式時將 match_mode 設定為 1 以不區分大小寫。

編輯之前的公式,並在D3單元格中編寫=TEXTBEFORE(B3,"park",,1),然後按Enter鍵。

Case Insensitive 2

因此,TEXTBEFORE 函式將返回Jurassic

Case Insensitive 3

示例 4

如果instance_num大於輸入文字的長度或等於零,則 TEXTBEFORE 函式將返回#VALUE!錯誤。

解決方案

步驟 1 - 在D3單元格中輸入公式=TEXTBEFORE(B3,"park",0,1)。這裡,第三個引數instance_num包含零值,這是不允許的。

Instance Num

因此,TEXTBEFORE函式將返回 #VALUE 錯誤。

Instance Num 1

步驟 2 - 在另一種情況下,在D3單元格中編寫公式=TEXTBEFORE(B3,"park",50,1)。這裡,instance_number 值為 50,大於輸入字串Jurassic Park的長度。

Instance Num 2

因此,TEXTBEFORE 函式將獲得 #VALUE 錯誤。

Instance Num 3

下載練習表

您可以下載並使用示例資料表來練習TEXTBEFORE函式。

廣告