excel提取不規則字段「excel取前面幾個字符的公式」

Excel 中沒有SUBSTRING函數。我們在 Excel 中使用 MID、LEFT、RIGHT、FIND、LEN、SUBSTITUTE、REPT、TRIM 和 MAX等函數 來提取子字符串。

MID函數

要從字符串中間開始提取子字符串,可以使用 Excel 中的 MID 函數。

Excel文本函數-提取子字符串

說明:MID 函數從位置 7 (I) 開始,提取 3個字符。

LEFT函數

要從字符串中提取最左邊的字符,可以使用 Excel 中的 LEFT 函數。

Excel文本函數-提取子字符串

要在破折號前提取子字符串(任意長度),可以加上 FIND 函數。

Excel文本函數-提取子字符串

說明:FIND 函數查找破折號的位置。從此結果中減去 1 以提取最左邊的正確字符數。上面顯示的公式簡化為 LEFT(A1,4-1)。

RIGHT函數

要從字符串中提取最右邊的字符,可以使用 Excel 中的 RIGHT 函數。

Excel文本函數-提取子字符串

要提取破折號後的子字符串(任意長度),可以加上 LEN 和 FIND函數。

Excel文本函數-提取子字符串
=RIGHT(A1,LEN(A1)-FIND("-",A1))

說明:LEN 函數返回字符串的長度。FIND 函數查找破折號的位置。減去這些值以提取正確數量的最右邊的字符。上面顯示的公式簡化為 RIGHT(A1,6-4)。

提取括號之間的子字符串

要提取括號(或大括號、方括號、斜線等)之間的子字符串,請在 Excel 中使用 MID 和 FIND。

1.首先看下面的公式。

Excel文本函數-提取子字符串

說明:FIND 函數查找左括號的位置。添加 1 以查找子字符串的起始位置。上面顯示的公式簡化為 MID(A1,6+1,2)。此 MID 函數始終提取 2 個字符。

2. 用返回子字符串長度的公式替換上面公式中的 2(第三個參數)。

Excel文本函數-提取子字符串
=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)

解釋:從右括號的位置減去左括號的位置和值1,找到子串的正確長度。

包含特定文本的子字符串

要提取包含特定文本(例如 @ 符號)的子字符串,請在 Excel 中使用 SUBSTITUTE、REPT、MID、FIND、TRIM 和 MAX。

1. 首先,使用 SUBSTITUTE 和 REPT 將單個空格替換為 100 個空格(或任何其他大數)。

Excel文本函數-提取子字符串

2.下面的MID函數從@符號位置前的50(1/2*大數字)位置開始,提取100(大數字)字符。

Excel文本函數-提取子字符串

3. 使用TRIM 函數刪除前面和後面空格。

Excel文本函數-提取子字符串

4. 把這些公式放在一起。

Excel文本函數-提取子字符串
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",100)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",100)))-50),100))

注意:該步驟 2 中,MID 函數從 @ 符號位置前 50 個位置開始。如果電子郵件地址是句子中的第一個單詞(單元格 A3),這將導致開始位置是負數。在這種情況下,MAX 函數(參見上面的公式)返回 1。

快速填充

如果你不擅長使用公式,可以使用Excel 中的快速填充來自動提取子字符串。

Excel文本函數-提取子字符串

此處需要注意:Excel 不會插入公式,如果你更改 A 列中的文本字符串,Excel 將不會更新 B 列中的數字。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/258783.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-15 16:28
下一篇 2024-12-15 16:28

相關推薦

發表回復

登錄後才能評論