Excel:從文字字串中移除刪除特定字符、字詞與數字 作者Xiaoyang•修改日期2025-04-15 1. 從文字字串的左側、右側或中間提取內容1.1 從文字字串中移除前 n 個字元 透過使用公式 透過使用使用者自訂函數1.2 從文字字串中移除最後 n 個字元 透過使用公式 透過使用使用者自訂函數1.3 透過使用一項強大功能,從文字字串中移除前 n 個、最後 n 個或特定位置的字元1.4 使用公式從文字字串中同時移除前 n 個與最後 n 個字元2. 從文字字串中移除不必要的或特殊字元2.1 從文字字串中移除部分特殊字元 使用 SUBSTITUTE 函數從文字字串中移除多個特殊字元 使用使用者自訂函數從文字字串中移除多個特殊字元 透過使用一項超強功能從文字字串中移除多個特殊字元2.2 從文字字串中移除所有數字 使用 SUBSTITUTE 函數從文字字串中移除數字 使用 TEXTJOIN 函數從文字字串中移除數字 使用使用者自訂函數從文字字串中移除數字 透過使用一項實用選項從文字字串中移除數字2.3 從文字字串中移除非數字字元 在 Excel 2016 及更早版本中,使用公式從文字字串中移除非數字字元 在 Excel 2019、2021、365 中,使用 TEXTJOIN 函數從文字字串中移除非數字字元 使用使用者自訂函數從文字字串中移除非數字字元 透過使用一項簡易功能從文字字串中移除非數字字元2.4 將拆分為文本和數字從一個儲存格分離至兩個欄位 使用使用者自訂函數將拆分為文本和數字從一個儲存格分離至兩個欄位 透過使用一項簡易功能將拆分為文本和數字從一個儲存格分離至兩個欄位2.5 從文字字串中移除換行字元 使用查找和替換功能從文字字串中移除換行字元 使用 SUBSTITUTE 函數從文字字串中移除換行字元 使用 VBA 程式碼從文字字串中移除換行字元 透過使用一項智慧選項從文字字串中移除換行字元2.6 刪除空格(開頭、結尾、多餘或所有空格)從文字字串中 使用 TRIM 函數從文字字串中移除多餘空格(開頭、結尾或過多空格) 從文字字串中移除所有空格 透過使用一項強大功能從文字字串中移除各種類型的空格3. 刪除特定字元之前或之後的文字3.1 移除文字字串中第一個特定字元之前或之後的文字 使用公式移除文字字串中第一個特定字元之前的文字 使用公式移除文字字串中第一個特定字元之後的文字3.2 移除文字字串中某字元第出現次數次出現之前或之後的文字 使用公式移除文字字串中某字元第出現次數次出現之前的文字 使用公式移除文字字串中某字元第出現次數次出現之後的文字使用使用者自訂函數移除文字字串中某字元第出現次數次出現之前或之後的文字3.3 移除文字字串中某字元最後一次出現之前或之後的文字 使用公式移除文字字串中某字元最後一次出現之前的文字 使用公式移除文字字串中某字元最後一次出現之後的文字3.4 移除括號內的文字 使用查找和替換功能移除括號內的文字 使用公式移除括號內的文字 使用使用者自訂函數移除括號內的文字4. 從文字字串中移除指定單字4.1 從文字字串中移除第一個或最後一個單字 使用公式從文字字串中移除第一個單字 使用公式從文字字串中移除最後一個單字4.2 移除儲存格內重複的字元或單字 透過使用使用者自訂函數移除儲存格內重複的字元 透過使用使用者自訂函數移除儲存格內重複的單字4.3 將文字字串修剪為 N 個單字 使用公式將文字字串修剪為 N 個單字 使用使用者自訂函數將文字字串修剪為 N 個單字如果您在 Excel 中有一份包含多餘字元、數字或符號的文字字串清單,可能需要根據其位置或類型移除特定內容。無論是要從左側、右側或中間裁剪字元,還是清除特定字元與數字,Excel 都提供多種方法協助您快速清理資料。本教學將逐步說明如何運用公式、使用者自訂函數(UDF)及內建功能,輕鬆去除文字字串中不需要的字元、字詞與數字。
目錄:
1. 從文字字串的左側、右側或中間移除特定字元
1.1 從文字字串中移除前 n 個字元 透過使用公式 透過使用使用者自訂函數1.2 從文字字串中移除最後 n 個字元 透過使用公式 透過使用使用者自訂函數1.3 透過使用一項強大功能,從文字字串中移除前 n 個、最後 n 個或特定位置的字元1.4 使用公式從文字字串中同時移除前 n 個與最後 n 個字元2. 從文字字串中移除不必要的或特殊字元
2.1 從文字字串中移除部分特殊字元 使用 SUBSTITUTE 函數從文字字串中移除多個特殊字元 使用使用者自訂函數從文字字串中移除多個特殊字元 透過使用一項超強功能從文字字串中移除多個特殊字元2.2 從文字字串中移除所有數字 使用 SUBSTITUTE 函數從文字字串中移除數字 使用 TEXTJOIN 函數從文字字串中移除數字 使用使用者自訂函數從文字字串中移除數字 透過使用一項實用選項從文字字串中移除數字2.3 從文字字串中移除非數字字元 在 Excel 2016 及更早版本中,使用公式從文字字串中移除非數字字元 在 Excel 2019、2021、365 中,使用 TEXTJOIN 函數從文字字串中移除非數字字元 使用使用者自訂函數從文字字串中移除非數字字元 透過使用一項簡易功能從文字字串中移除非數字字元2.4 將拆分為文本和數字從一個儲存格分離至兩個欄位 使用使用者自訂函數將拆分為文本和數字從一個儲存格分離至兩個欄位 透過使用一項簡易功能將拆分為文本和數字從一個儲存格分離至兩個欄位2.5 從文字字串中移除換行字元 使用查找和替換功能從文字字串中移除換行字元 使用 SUBSTITUTE 函數從文字字串中移除換行字元 使用 VBA 程式碼從文字字串中移除換行字元 透過使用一項智慧選項從文字字串中移除換行字元2.6 刪除空格(開頭、結尾、多餘或所有空格)從文字字串中 使用 TRIM 函數從文字字串中移除多餘空格(開頭、結尾或過多空格) 從文字字串中移除所有空格 透過使用一項強大功能從文字字串中移除各種類型的空格3. 刪除特定字元之前或之後的文字
3.1 移除文字字串中第一個特定字元之前或之後的文字 使用公式移除文字字串中第一個特定字元之前的文字 使用公式移除文字字串中第一個特定字元之後的文字3.2 移除文字字串中某字元第出現次數次出現之前或之後的文字 使用公式移除文字字串中某字元第出現次數次出現之前的文字 使用公式移除文字字串中某字元第出現次數次出現之後的文字 使用使用者自訂函數移除文字字串中某字元第出現次數次出現之前或之後的文字3.3 移除文字字串中某字元最後一次出現之前或之後的文字 使用公式移除文字字串中某字元最後一次出現之前的文字 使用公式移除文字字串中某字元最後一次出現之後的文字3.4 移除括號內的文字 使用查找和替換功能移除括號內的文字 使用公式移除括號內的文字 使用使用者自訂函數移除括號內的文字4. 從文字字串中移除指定單字
4.1 從文字字串中移除第一個或最後一個單字 使用公式從文字字串中移除第一個單字 使用公式從文字字串中移除最後一個單字4.2 移除儲存格內重複的字元或單字 透過使用使用者自訂函數移除儲存格內重複的字元 透過使用使用者自訂函數移除儲存格內重複的單字4.3 將文字字串修剪為 N 個單字 使用公式將文字字串修剪為 N 個單字 使用使用者自訂函數將文字字串修剪為 N 個單字從文字字串的左側、右側或中間刪除特定字符對多數人來說,在 Excel 工作表中從文字字串的左側、右側或中間刪除部分字元是常見的任務。本節將介紹幾種快速又簡便的技巧,助您輕鬆完成這項工作。
1.1 從文字字串中移除前 n 個字元若您需要從一連串文字中移除前 n 個字元,以下方法可助您輕鬆達成。
透過使用公式一般而言,若要刪除文字字串開頭的字元,您可以使用 REPLACE 函數,或搭配 RIGHT 與 LEN 函數。
使用 REPLACE 函數移除前 N 個字元:
=REPLACE(string, 1, num_chars, "")「string」:您要從中刪除特定字符的文字字串;「num_chars」:您要移除的字元數。例如,若要從儲存格中移除前 2 個字元,請使用下方公式,然後拖曳填滿控點將公式複製到其他儲存格,請參閱螢幕截圖:
=REPLACE(A4, 1, 2, "")
使用 RIGHT 與 LEN 函數移除前 N 個字元:
=RIGHT(string, LEN(string) - num_chars)「string」:您要從中刪除特定字符的文字字串;「num_chars」:您要移除的字元數。若要從儲存格中移除前 2 個字元,請套用下列公式:
=RIGHT(A4,LEN(A4)-2)
透過使用使用者自訂函數若要從儲存格中移除前 N 個字元,您也可以建立自訂函數來輕鬆完成這項任務。請依照下列步驟操作:
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 按一下「插入」>「模組」,並將下列程式碼貼到模組視窗中。
VBA 程式碼:從文字字串中移除前 n 個字元
Function removeFirstx(rng As String, cnt As Long)
'Updateby Extendoffice
removeFirstx = Right(rng, Len(rng) - cnt)
End Function
3. 接著返回工作表,在空白儲存格中輸入此公式:「=removefirstx(A4,2)」,然後向下拖曳填滿控點以取得所需結果,請參閱螢幕截圖:
注意:在此公式中,「A4」是您要從中刪除特定字元的儲存格;數字「2」代表您要從文字字串開頭移除的字元數量。
1.2 從文字字串中移除後 n 個字元若要從文字字串右側移除指定數量的字元,您也可使用公式或自訂函數。
使用公式若要從文字字串中移除最後 n 個字元,可運用結合 LEFT 與 LEN 函數的公式輕鬆達成。
使用 LEFT 與 LEN 函數移除後 N 個字元:
=LEFT(string, LEN(string) - num_chars)「string」:您要從中刪除特定字符的文字字串;「num_chars」:您要移除的字元數。若要刪除文字字串末尾的 3 個字元,請使用此公式,然後拖曳填滿控點將公式複製到其他儲存格,請參閱螢幕截圖:
=LEFT(A4, LEN(A4) - 3)
透過使用使用者自訂函數使用者自訂函數也能協助您輕鬆移除一連串儲存格中的後 N 個字元。請依照下列步驟操作:
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:從文字字串中移除後 n 個字元
Function removeLastx(rng As String, cnt As Long)
'Updateby Extendoffice
removeLastx = Left(rng, Len(rng) - cnt)
End Function
3. 接著返回工作表,在空白儲存格中輸入此公式:「=removelastx(A4,3)」,然後向下拖曳填滿控點以取得所需結果,請參閱螢幕截圖:
注意:在此公式中,「A4」是您要從中刪除特定字元的儲存格;數字「3」代表您希望從文字字串尾端移除的字元數量。
1.3 使用強大功能一次移除前 n、後 n 或特定位置的字元記憶各種公式是否讓您感到困擾?若想從文字字串的左側、右側或特定位置刪除指定字符,「Kutools for Excel」提供了一項強大功能——「刪除某位置字元」。透過這個實用小工具,只需輕點幾下,即可輕鬆完成任務,完全無需記憶任何公式!
Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊…… 免費試用……1. 選取您要刪除特定字元的儲存格,然後點擊「Kutools」>「文字」>「刪除某位置字元」,請參閱截圖:
2. 在「刪除某位置字元」對話方塊中,請執行下列操作:
2.1 從儲存格移除前 n 個字元:
在「Numbers」文字方塊中,輸入您想從字串開頭移除的字元數量。在此範例中,我將移除前 2 個字元。在「Position」區段中,選擇「From left」選項。接著,點擊「Ok」或「Apply」按鈕,即可獲得如下方截圖所示的結果。
2.2 從儲存格移除後 n 個字元:
在「Numbers」文字方塊中,輸入您想從字串末尾移除的字元數量。在此範例中,我將移除最後 3 個字元。在「Position」區段中,選擇「From right」選項。接著,點擊「Ok」或「Apply」按鈕,即可獲得如下方截圖所示的結果。
2.3 從儲存格的特定位置移除 n 個字元:
若您需要從文字字串的特定位置移除指定數量的字元,例如從第 3 個字元開始刪除連續 3 個字元。
在「Numbers」文字方塊中,輸入您要從字串中移除的字元數量。在此範例中,我將從特定位置移除 3 個字元。選取「指定」選項,並在「位置」區段的文字方塊中輸入您希望開始刪除特定字元的起始位置。在此範例中,我將從第 3 個字元開始刪除。接著,點擊「確定」或「套用」按鈕,即可獲得如下方螢幕截圖所示的結果。
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
1.4 使用公式從文字字串同時移除前 n 個與後 n 個字元當您在 Excel 中需要同時從文字字串兩側移除特定字元時,可結合 MID 與 LEN 函數建立公式,輕鬆完成這項任務。
=MID(string, left_chars + 1, LEN(string) - (left_chars + right_chars)「string」:您要從中刪除特定字符的文字字串;「left_chars」:要從左側移除的字元數量;「right_chars」:要從右側移除的字元數。例如,您需要同時從文字字串移除前 7 個字元與後 5 個字元,請在空白儲存格中輸入下列公式:
=MID(A4, 7+1, LEN(A4) - (7+5)) 注意:在此公式中,「A4」是您要從中刪除特定字元的儲存格;數字「7」代表要從左側移除的字元數;數字「5」則是要從右側移除的字元數。
接著,向下拖曳填滿控制點至您要套用此公式的儲存格,即可獲得如下方截圖所示的結果:
從文字字串移除不需要的/特殊字元當您在 Excel 中從其他來源匯入資料時,工作表可能會包含許多特殊或不必要的字元。本節將提供實用方法,協助您輕鬆移除這些不需要的內容,例如 #@$%^&、多餘空格、數字、非數字字元、換行符號等。
2.1 從文字字串移除某些特殊字元若文字字串中包含 %^&*() 等特殊字元,可透過以下三種技巧予以移除。
使用 SUBSTITUTE 函數從文字字串中移除多個特殊字元一般而言,在 Excel 中可巢狀使用多個 SUBSTITUTE 函數,將每個特定字元替換為空值,其通用語法如下:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(string_cell, char 1, ""), char 2, ""), char 3, "")「string_cell」:包含您要從中移除特殊字元的文字字串之儲存格;「char 1、char 2、char 3」:您要移除的多餘字元。現在,請複製或輸入下方公式至空白儲存格:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "#", ""), "&", ""), "*", ""), "%", "") 接著,向下拖曳填滿控制點至您要套用此公式的儲存格,所有您指定的不需要字元將立即被移除,請參閱截圖:
提示:若您需要移除更多字元,只需在公式中進一步巢狀使用 SUBSTITUTE 函數即可。
使用使用者自訂函數從文字字串中移除多個特殊字元上述巢狀 SUBSTITUTE 函數在需移除的特殊字元較少時效果良好;然而,若需移除數十個字元,公式將變得過長且難以管理。此時,下列使用者自訂函數可助您快速、輕鬆完成此任務。
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 按一下「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:從文字字串移除多個特殊字元
Function RemoveUnwantedChars(Str As String, xchars As String)
'Updateby Extendoffice
For Index = 1 To Len(xchars)
Str = Replace(Str, Mid(xchars, Index, 1), "")
Next
RemoveUnwantedChars = Str
End Function
3. 接著關閉程式碼視窗並返回工作表,在空白儲存格中輸入公式「=RemoveUnwantedChars(A2, $D$2)」以取得結果,然後向下拖曳填滿控制點以套用至其他儲存格,詳情請參閱截圖:
注意:在上述公式中,「A2」是您要從中刪除特定字元的儲存格;「$D$2」則包含您欲移除的特殊字元(您可自行輸入其他需要移除的特殊字元)。
透過使用一項超強功能從文字字串中移除多個特殊字元若您已安裝「Kutools for Excel」,即可運用其「刪除特定字元」功能,依需求輕鬆從儲存格清單中移除各類字元,例如數字、英文字母、不可列印字元等。
Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊…… 免費試用……1. 選取您要移除特殊字元的儲存格範圍,然後點擊「Kutools」>「文字」>「刪除特定字元」,請參閱截圖:
2. 在「刪除特定字元」對話方塊中:
勾選「刪除特定字元」區段中的「自訂」選項。然後,在文字方塊中輸入您想移除的特殊字元。接著,點擊「確定」或「套用」按鈕,即可一次移除您指定的字元。請參閱下方螢幕截圖:
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
2.2 從文字字串移除所有數字若您手邊有一份混合了數字、字母與特殊字元的文字字串清單,現在只想移除所有數字,同時完整保留其他字元,本節將為您提供幾種便捷的處理方法。
使用 SUBSTITUTE 函數從文字字串中移除數字在 Excel 中,巢狀 SUBSTITUTE 函數可協助將所有數字替換為空值,因此您可以使用下方公式從儲存格移除所有數字:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),0,"") 接著向下拖曳填滿控制點至您要套用此公式的儲存格,所有數字將從文字字串清單中刪除,請參閱截圖:
使用 TEXTJOIN 函數從文字字串中移除數字若您使用的是 Excel 2019、2021 或 Microsoft 365,全新的 TEXTJOIN 函數也能協助您從文字字串中移除數字。
請將下列公式複製到空白儲存格中,然後同時按下 Ctrl + Shift + ENTER 鍵取得第一筆結果:
=TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), "")) 接著將公式複製到下方您要套用此公式的儲存格,請參閱截圖:
注意:TEXTJOIN 函數僅適用於 Excel 2019、2021 及 Office 365.
使用使用者自訂函數從文字字串中移除數字除了上述兩種公式外,使用者自訂函數也能協助您處理此任務,請依照下列步驟操作:
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 按一下「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:從文字字串移除數字
Function RemoveNumbers(Txt As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[0-9]"
RemoveNumbers = .Replace(Txt, "")
End With
End Function
3. 接著關閉並離開程式碼視窗,返回工作表,在空白儲存格中輸入公式:=RemoveNumbers(A2),然後向下拖曳填滿控制點,套用至所需儲存格。請參閱截圖:
透過使用一項實用選項從文字字串中移除數字若您已厭倦繁複的公式,現在就為您介紹一個簡單好用的工具——「Kutools for Excel」的「刪除特定字元」功能。透過這項便捷設計,只需幾次點擊,即可輕鬆完成任務。
Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊…… 免費試用……1. 選取您要移除數字的儲存格範圍,然後點選「Kutools」>「文字」>「刪除特定字元」。
2. 在「刪除特定字元」對話方塊中,請執行下列操作:
勾選「刪除特定字符」區塊中的「數值」選項。接著,點選「確定」或「套用」按鈕,即可立即移除數字。請參閱螢幕截圖:
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
2.3 從文字字串移除非數字字元若要移除文字字串中所有非數字字元,僅保留數字,本節將介紹幾種在 Excel 中達成此目標的方法。
在 Excel 2016 及更早版本中,使用公式從文字字串中移除非數字字元若您使用的是 Excel 2016 或更早版本,應使用複雜公式來完成此作業,請複製或輸入下方公式至空白儲存格:
=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10) 接著將公式複製到下方您要套用此公式的儲存格,請參閱截圖:
注意:若文字字串中的數字以 0 開頭,開頭的 0 將會遺失。
在 Excel 2019、2021、365 中使用 TEXTJOIN 函數從文字字串移除非數字字元上述公式對大多數人來說可能過於複雜。若您使用的是 Excel 2019、2021 或 Microsoft 365,則可運用一個更簡潔的公式輕鬆完成任務。
請複製或輸入下列公式至空白儲存格,然後同時按下「Ctrl + Shift + Enter」鍵以取得第一筆正確結果:
=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")) 接著,向下拖曳填滿控制點至您要套用此公式的儲存格,即可獲得如下方截圖所示的結果:
注意:使用此公式時,由於數字會以文字形式傳回,因此前置的 0 將予以保留。
使用使用者自訂函數從文字字串中移除非數字字元當然,您也可以建立自己的使用者自訂函數以使用更簡潔的語法,請照下列方式操作:
1. 按下「Alt + F11」組合鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:從文字字串移除非數字字元
Function Removenonnumeric(str As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[^0-9]"
Removenonnumeric = .Replace(str, "")
End With
End Function
3. 接著關閉並離開程式碼視窗,返回工作表,在空白儲存格中輸入公式:=Removenonnumeric(A2),然後向下拖曳填滿控制點至您要套用此公式的儲存格,即可僅提取數字,如下方截圖所示:
透過使用一項簡易功能從文字字串中移除非數字字元想直接從儲存格範圍中刪除非數字字元?只需幾次點擊,「Kutools for Excel」的「刪除特定字元」工具就能輕鬆搞定!
Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊…… 免費試用……1. 選取您要移除非數字字元的儲存格範圍,然後按一下「Kutools」>「文字」>「刪除特定字元」。
2. 在「刪除特定字元」對話方塊中,請進行下列設定:
勾選「刪除特定字符」區塊中的「非數值」選項。接著,點擊「確定」或「套用」按鈕,即可立即移除所有非數值字元。請參閱螢幕截圖:
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
2.4 將拆分為文本和數字從一個儲存格分離至兩個欄位有時您可能希望將文字字串中的內容拆分為純文字與數字,並分別提取至兩個獨立欄位;透過下列方法,即可快速輕鬆完成此任務。
使用使用者自訂函數將拆分為文本和數字從一個儲存格分離至兩個欄位透過使用下列使用者自訂函數,您可以一次提取拆分為文本和數字,請依照以下步驟操作:
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:將拆分為文本和數字從文字字串分離至兩個欄位
Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Updateby Extendoffice
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
xStr = VBA.Mid(pWorkRng.Value, i, 1)
If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
SplitText = SplitText + xStr
End If
Next
End Function
3. 接著關閉並離開程式碼視窗,返回工作表,在空白儲存格中輸入公式:=SplitText(A2,FALSE),然後向下拖曳填滿控點至您要套用此公式的儲存格,即可取得所有文字。詳情請參閱截圖:
4. 接著在另一個儲存格中輸入公式:=SplitText(A2,TRUE),然後向下拖曳填滿控點至您要套用此公式的儲存格,即可取得數字,詳情請參閱截圖:
使用簡易功能將拆分為文本和數字從一個儲存格分離至兩個欄位若您已安裝「Kutools for Excel」,其「分割儲存格」功能可協助您依任意分隔符號、指定寬度,或將內容拆分為文字與數字,輕鬆將儲存格分割為多個欄位或欄列。
Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊…… 免費試用……1. 選取您要拆分的儲存格範圍,然後點選「Kutools」>「合併與拆分」>「分割儲存格」,詳情請參閱截圖:
2. 在「分割儲存格」對話方塊的「類型」區段中,選取「分割至多列」選項,並於「依下列方式拆分」區段勾選「拆分為文本和數字」,請參閱截圖:
3. 接著按一下「確定」按鈕,系統將彈出另一個「分割儲存格」對話方塊;請選取一個儲存格作為輸出位置,用以存放拆分後的文本與數字,再按一下「確定」按鈕。現在,您即可看到所選儲存格中的內容已一次拆分為兩個欄位——分別為文本與數字,如下方示範截圖所示:
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
2.5 從文字字串中移除換行字元換行符號可讓您在同一個 Excel 儲存格中顯示多行文字。當您在從網站複製資料,或手動按下「Alt + Enter」鍵來分隔儲存格內容時,就會產生換行符號(亦稱為回車符)。在某些情況下,您可能希望移除這些換行符號,讓儲存格內容以單一行呈現,如下方截圖所示。本文將為您介紹幾種在 Excel 中輕鬆解決此問題的實用方法。
使用查找和替換功能從文字字串移除換行字元在 Excel 中,您可以使用「查找和替換」功能移除換行符號,請照以下步驟操作:
1. 選取您要清除換行符號的資料範圍。
2. 接著按一下「開始」>「尋找與選取」>「取代」(或按下 Ctrl + H),即可開啟「尋找和取代」對話方塊,請參閱下方截圖:
3. 在彈出的「尋找與取代」對話方塊中,請執行下列操作:
將游標置於「尋找目標」欄位中,並按下鍵盤上的「Ctrl + J」。雖然畫面上可能看不到任何變化,但換行字元其實已成功插入。在「取代為」欄位中,若要直接刪除換行符號,請留空此欄位;若要以空格取代換行符號,請按下空白鍵。
4. 接著點擊「全部取代」按鈕,即可立即將所選儲存格中的所有換行符號刪除或替換為空白。請參閱以下截圖:
使用 SUBSTITUTE 函數從文字字串中移除換行字元您也可以利用 SUBSTITUTE 與 CHAR 函數建立公式,輕鬆從文字字串中移除換行符號。
請套用下列公式以取得結果:
=SUBSTITUTE(A2,CHAR(10),"")
提示:SUBSTITUTE 函數會將代表換行字元的 CHAR(10) 字元替換為空值。若您希望結果以逗號與空格分隔,可使用下列公式:
=SUBSTITUTE(A2,CHAR(10),", ")
使用 VBA 程式碼從文字字串中移除換行字元若您熟悉 VBA 程式碼,下方也提供一段程式碼供您使用,請依照下列步驟操作:
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:從文字字串移除換行符號
Sub RemoveCarriage()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
Rng.Value = Replace(Rng.Value, Chr(10), "")
Next
End Sub
3. 接著按下「F5」鍵執行此程式碼,系統將彈出提示方塊,請選取您要移除換行符號的範圍,如下方截圖所示:
4. 接著點擊「確定」按鈕,即可將所選資料範圍內的所有換行符號移除。
透過使用一項智慧選項從文字字串中移除換行字元此外,「Kutools for Excel」的「刪除特定字符」功能也能輕鬆幫您移除換行符號。
Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊…… 免費試用……1. 選取您要移除換行符號的儲存格範圍,然後點擊「Kutools」>「文字」>「刪除特定字元」。
2. 在「刪除特定字元」對話方塊中,請進行以下設定:
勾選「刪除特定字元」區段中的「不可列印字元」選項。接著,點擊「確定」或「套用」按鈕,即可從所選資料範圍中移除所有換行符號。請參閱螢幕截圖:
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
2.6 從文字字串中移除刪除空格(前導、尾隨、多餘或所有空格)從外部來源複製並貼上文字到 Excel 工作表時,常會夾帶惱人的多餘空白字元,手動清除前導、尾隨或其他不必要的空格既耗時又麻煩。幸運的是,Excel 提供了幾種簡單高效的方法,輕鬆搞定這項任務!
使用 TRIM 函數從文字字串中移除多餘空格(開頭、結尾或過多空格)在 Excel 中,若要刪除文字字串中的前導、尾隨及多餘空格,只需使用簡單的 TRIM 函數——它會移除所有多餘空格,僅保留單一詞間空格。
請在空白儲存格中輸入下列公式:
=TRIM(A2) 接著向下拖曳填滿控點,將公式複製到其他儲存格。現在,從截圖中即可看到所有前導空格、尾端空格以及詞語間的多餘空格將一次清除乾淨:
從文字字串中移除所有空格若想從文字字串中移除所有空白字元,可善用以下 SUBSTITUTE 函數與「尋找與取代」功能,輕鬆達成目標。
使用 SUBSTITUTE 函數
您可以使用 SUBSTITUTE 函數將所有空格替換為空值,請在空白儲存格中套用下列公式:
=SUBSTITUTE(A2," ","") 接著向下拖曳填滿控點,將此公式複製至其他所需儲存格,所有空格將如以下截圖所示被刪除:
使用查找和替換功能
事實上,Excel 的「尋找與取代」功能也能協助您從所選儲存格中移除所有空格,請依照下列步驟操作:
1. 選取您想清除所有空格的資料範圍。
2. 接著點選「開始」>「尋找與選取」>「取代」(或按下 Ctrl + H),開啟「尋找與取代」對話方塊,並執行下列操作:
在「尋找目標」欄位中按下「空白鍵」;在「取代為」欄位中,請留空此欄位。
3. 接著點擊「全部取代」按鈕,即可立即刪除所選儲存格中的所有空白字元。請參閱截圖:
透過使用一項強大功能從文字字串中移除各種類型的空格「Kutools for Excel」提供強大功能——「刪除空格」,讓您在單一對話方塊中即可輕鬆移除前導空格、尾隨空格、多餘空格,甚至能一鍵清除所選區域中的所有空格,大幅提升工作效率。
Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊…… 免費試用……1. 選取您要清除空格的資料範圍,然後點選「Kutools」>「文字」>「刪除空格」。請參閱截圖:
2. 在「刪除空格」對話方塊中,從「空格類型」選單選取您要移除的空格類型:
移除前面的空格,並勾選「前面的空格」選項;移除後面的空格,並勾選「後面的空格」選項;同時移除前面的空格與後面的空格,並勾選「前置與後面的空格」選項;移除所有多餘空格,並勾選「所有多餘的空格」選項;移除所有空格,並勾選「所有空格」選項。
3. 接著點擊「確定」或「套用」按鈕,即可立即獲得您想要的結果。
Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
刪除特定字符/在特定字元前或後的文字本節將介紹幾種操作方法,用於移除特定字元首次、末次或指定出現次數位置之前或之後的文字。
3.1 移除第一次出現特定字元之前或之後的文字若您想移除文字字串清單中首次出現的特定字元(例如空格或逗號)之前或之後的文字(如下方截圖所示),以下提供兩種方法供您參考。
使用公式移除文字字串中第一個特定字元之前的文字若要移除第一次出現特定字元之前的所有文字,可建立基於 RIGHT、LEN 與 FIND 函數的公式,通用語法如下:
「=RIGHT(cell, LEN(cell)-FIND("char", cell))」「cell」:您要從中移除文字的儲存格參照或文字字串;「char」:您要用來移除文字的特定分隔符號。例如,若要從文字清單中移除第一次出現逗號之前的所有內容,請在空白儲存格中套用下列公式,並向下拖曳至所需儲存格,請參閱截圖:
=RIGHT(A2,LEN(A2)-FIND(",",A2)) 注意:上述公式中,「A2」是您要移除文字的儲存格;「,」為用作基準的特定字元,可依需求更換為其他字元。
使用公式移除文字字串中第一個特定字元之後的文字若要移除第一次出現特定字元之後的所有文字,可結合 LEFT 與 FIND 函數取得結果,通用語法如下:
=LEFT(cell,FIND("char",cell)-1)「cell」:您要從中移除文字的儲存格參照或文字字串;「char」:您用來移除文字的特定分隔符號。現在,請在空白儲存格中輸入下列公式,並向下拖曳填滿控點至其他要套用此公式的儲存格,所有第一次出現逗號之後的字元將立即被移除,請參閱截圖:
=LEFT(A2,FIND(",",A2)-1)
3.2 移除字元第出現次數次出現位置之前或之後的文字有時文字字串中會包含多個相同的分隔符號,您可能需要移除特定次數(例如第二次、第三次或第四次)出現位置之前或之後的所有字元。針對這類需求,可運用以下技巧:
使用公式移除字元第出現次數次出現位置之前的文字若要移除特定字元第出現次數次出現位置之前的文字,下列公式可協助您達成目標,通用語法如下:
=RIGHT(cell,LEN(cell)-FIND("#",SUBSTITUTE(cell,"char","#",N)))「cell」:您要從中移除文字的儲存格參照或文字字串;「char」:您要據以移除文字的特定分隔符號;「N」:表示要在該字元第 N 次出現之前移除文字。例如,若要從文字字串中移除第二個逗號之前的所有內容,您應套用以下公式:
=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2,",","#",2))) 注意:在上述公式中,「A2」是您要從中移除文字的儲存格;「,」是用來作為移除依據的特定字元,可依需求替換為其他字元;「2」則代表要移除第 n 個逗號。
接著,拖曳填滿控點將公式複製到其他儲存格,請參見截圖:
使用公式移除字元出現次數之後的文字若要移除特定分隔符號出現指定次數之後的文字,可結合使用 LEFT、SUBSTITUTE 與 FIND 函數來實現。通用語法如下:
=LEFT(cell, FIND("#", SUBSTITUTE(cell, "char", "#", N)) -1)「cell」:您要從中移除文字的儲存格參照或文字字串;「char」:您要據以移除文字的特定分隔符號;「N」:表示要在該字元第 N 次出現之後移除文字。了解基本語法後,請將以下公式複製或輸入至空白儲存格中:
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1) 注意:在上述公式中,「A2」是您要從中移除文字的儲存格;「,」是用來作為移除依據的特定字元,可依需求替換為其他字元;「2」則代表要移除第 n 個逗號之後的內容。
接著,拖曳填滿控點將公式複製到其他儲存格,即可一次刪除第二個逗號之後的所有字元,請參見截圖:
使用自訂函數移除字元出現次數之前或之後的文字如您所見,只要靈活運用 Excel 內建函數的不同組合,就能輕鬆處理「移除特定字元出現次數之前或之後文字」的各種情境。然而,這些公式往往複雜難記。為此,我將建立一個自訂函數,全面涵蓋所有相關情境,請依下列步驟操作:
1. 按下「Alt + F11」組合鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:移除字元出現次數之前或之後的文字
Function RemoveTextOccurrence(Str As String, Delimiter As String, Occurrence As Integer, IsAfter As Boolean)
Dim xStr As String
Dim xStrLen, xF, xIntStart As Integer
xStr = Str
xStrLen = Len(xStr)
xIntStart = 1
For xF = 1 To Occurrence
xIntStart = InStr(xIntStart + 1, xStr, Delimiter, vbTextCompare)
If (xIntStart = 0) Or (xIntStart < 0) Then
If IsAfter Then
RemoveTextOccurrence = xStr
Else
RemoveTextOccurrence = ""
End If
Exit Function
End If
Next
If IsAfter Then
RemoveTextOccurrence = Mid(Str, 1, xIntStart - 1)
Else
RemoveTextOccurrence = Mid(Str, xIntStart + 1)
End If
End Function
3. 接著關閉並離開程式碼視窗,返回工作表,並使用下列公式:
移除第二個逗號之前出現的文字:
=RemoveTextOccurrence(A2, ", ", 2, FALSE)
移除第二個逗號之後出現的文字
=RemoveTextOccurrence(A2, ", ", 2, TRUE)
3.3 移除字元最後一次出現位置之前或之後的文字若您想移除特定字元最後一次出現位置之前或之後的所有文字,僅保留該字元前或後的子字串,本節提供實用公式,輕鬆解決此問題。
使用公式移除文字字串中某字元最後一次出現之前的文字若要移除字元最後一次出現位置之前的所有字元,通用語法如下:
=RIGHT(cell,LEN(cell)-SEARCH("#",SUBSTITUTE(cell,"char","#",LEN(cell)-LEN(SUBSTITUTE(cell,"char","")))))「cell」:您要從中移除文字的儲存格參照或文字字串;「char」:您要據以移除文字的特定分隔符號;現在,若您需要移除最後一個逗號之前的文字,請將以下公式複製或輸入至空白儲存格中:
=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,",","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))) 注意:在上述公式中,「A2」是您要從中移除文字的儲存格;「,」是用來作為移除依據的特定字元,您可以根據需求更換為其他字元。
接著,拖曳填滿控點將公式複製到其他儲存格,即可刪除最後一個逗號之前的所有字元,如下方截圖所示:
使用公式移除文字字串中某字元最後一次出現之後的文字若儲存格值由可變數量的分隔符號分隔,且您希望刪除該分隔符號最後一次出現位置之後的所有內容,通用語法如下:
=LEFT(cell,FIND("#",SUBSTITUTE(cell,"char","#",LEN(cell)-LEN(SUBSTITUTE(cell,"char",""))))-1)「cell」:您要從中移除文字的儲存格參照或文字字串;「char」:您要據以移除文字的特定分隔符號;請將以下公式複製或輸入至空白儲存格中,然後向下拖曳填滿控點以取得其他所需結果,請參見截圖:
=LEFT(A2,FIND("#",SUBSTITUTE(A2,",>","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1) 「注意」:在上述公式中,「A2」是您要從中移除文字的儲存格;「,」是用來作為移除依據的特定字元,您可以根據需求更換為其他字元。
3.4 移除括號內的文字若您有一份文字字串清單,其中部分字元包含在括號內,現在或許希望將括號及其內部的所有內容一併移除,如下方截圖所示。本節將為您介紹幾種在 Excel 中輕鬆完成此任務的實用技巧。
使用查找和替換功能移除括號內的文字在 Excel 中,內建的「尋找與取代」功能可協助您找出所有括號內的文字,並以空白取代。請依照以下步驟操作:
1. 選取您要移除括號內文字的資料清單。
2. 接著,按一下「首頁」>「尋找與選取」>「取代」(或按下 Ctrl + H 鍵),即可開啟「尋找和取代」對話方塊,並在其中執行下列操作:
在「尋找目標」欄位的文字方塊中輸入「(*)」;在「取代為」欄位中,請留空。
3. 接著,點擊「全部取代」按鈕,即可一次性刪除所選儲存格中括號內的所有字元(含括號本身)。請參閱截圖:
提示:「尋找與取代」功能同樣適用於文字字串中包含兩組或多組括號的情況。
使用公式移除括號內的文字除了查找和替換功能外,您也可以使用公式在 Excel 中解決此任務,通用語法如下:
=SUBSTITUTE(text,MID(LEFT(text,FIND(")",text)),FIND("(",text),LEN(text)),"")您要從中刪除特定字元的文字字串或儲存格參照。現在,請將下列公式複製或輸入至您要取得結果的空白儲存格中:
=SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),"") 接著,向下拖曳填滿控點將公式套用至其他儲存格,即可一次移除括號內的所有文字(包括括號本身),請參見截圖:
提示:若儲存格值中不含括號,套用上述公式後會顯示錯誤;若要忽略錯誤,請使用下列公式:
=IFERROR(SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),""),A2)
使用使用者自訂函數移除括號內的文字上述公式適用於移除一組括號內的文字,但若需處理文字字串中多組括號內的內容,該公式將無法正確運作。為此,我將建立一個簡單的自訂函數來解決此問題。
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:移除括號內的文字
Function remtxt(ByVal str As String) As String
'Updateby Extendoffice
While InStr(str, "(") > 0 And InStr(str, ")") > InStr(str, "(")
str = Left(str, InStr(str, "(") - 1) & Mid(str, InStr(str, ")") + 1)
Wend
remtxt = Trim(str)
End Function
3. 返回工作表,在空白儲存格中輸入公式「=remtxt(A2)」,然後向下拖曳填滿控點以套用該公式。所有括號內的文字(含括號本身)將如截圖所示一併移除:
從文字字串中移除單字在某些情況下,您可能希望從儲存格清單中移除特定單字,例如第一個或最後一個單字、儲存格內的重複單字等。為滿足這類移除需求,本節將為您介紹幾種實用方法。
4.1 從文字字串中移除第一個或最後一個單字若要從文字字串清單中移除第一個或最後一個字詞,以下公式可協助您輕鬆達成目標。
使用公式從文字字串中移除第一個單字若要從文字字串清單中移除第一個單字,可建立一個基於 RIGHT、LEN 與 FIND 函數的簡易公式,通用語法如下:
=RIGHT(text,LEN(text)-FIND(" ",text))您要從中移除第一個字詞的文字字串或儲存格參照。現在,請在空白儲存格中輸入或複製下列公式:
=RIGHT(A2,LEN(A2)-FIND(" ",A2)) 接著,向下拖曳填滿控點將公式套用至其他儲存格,請參見截圖:
提示:若需從儲存格中移除前 N 個單字,請使用下列公式:
=MID(TRIM(text),1+FIND("~",SUBSTITUTE(TRIM(text)," ","~",N)),255)「text」:您要從中移除前 n 個字詞的文字字串或儲存格參照;「N」:代表您要從文字字串開頭移除的字詞數量。例如,若要從儲存格中移除前兩個單字,請將下列公式複製或輸入至空白儲存格中以取得所需結果,請參見截圖:
=MID(TRIM(A2),1+FIND("~",SUBSTITUTE(TRIM(A2)," ","~",2)),255)
使用公式從文字字串中移除最後一個單字若要從文字字串中移除最後一個單字,也可使用公式解決此任務,通用語法如下:
=LEFT(TRIM(text),FIND("~",SUBSTITUTE(text," ","~",LEN(TRIM(text))-LEN(SUBSTITUTE(TRIM(text)," ",""))))-1)「text」:您要從中移除最後一個字詞的文字字串或儲存格參照;請在空白儲存格中使用下列公式,然後向下拖曳填滿控點將公式套用至其他儲存格,請參見截圖:
=LEFT(TRIM(A2),FIND("~",SUBSTITUTE(A2," ","~",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))-1)
提示:若要從儲存格清單中移除最後 N 個單字,通用語法如下:
=LEFT(text,FIND("~",SUBSTITUTE(text," ","~",LEN(text)-LEN(SUBSTITUTE(text," ",""))-(N-1))))「text」:您要從中移除最後 n 個字詞的文字字串或儲存格參照;「N」:代表您要從文字字串結尾移除的字詞數量。假設要從儲存格清單中刪除最後 3 個單字,請使用下列公式取得結果,請參見截圖:
=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-(3-1))))
4.2 移除儲存格內重複的字元或單字當移除重複值或整列資料時,Excel 提供了多種選項;然而,若要清除特定儲存格內的重複字元或單字,可能就沒有合適的內建功能可用。針對此情況,本節將協助您建立自訂函數,輕鬆解決這項挑戰。
透過使用使用者自訂函數移除儲存格內重複的字元若儲存格中包含多個重複字元,而您希望僅保留每個字元首次出現的部分(移除後續重複字元,如下方截圖所示),可使用下列自訂函數。
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:移除儲存格內的重複字元
Function RemoveDupeschars(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
xChar = VBA.Mid(xValue, i, 1)
If xDic.Exists(xChar) Then
Else
xDic(xChar) = ""
xOutValue = xOutValue & xChar
End If
Next
RemoveDupeschars = xOutValue
End Function
3. 接著關閉程式碼視窗返回工作表,在資料旁的空白儲存格中輸入公式 =RemoveDupeschars(A2),然後拖曳填滿控點套用至其他儲存格,詳情請參見截圖:
注意:「A2」是您要從中移除重複字元的儲存格。
提示:此函數區分大小寫,會將小寫與大寫字母視為不同字元。
透過使用使用者自訂函數移除儲存格內重複的單字假設儲存格中包含重複的單字或文字字串,而您希望移除所有重複內容(如下方截圖所示),即可透過下列自訂函數輕鬆達成此目標。
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:移除儲存格內的重複字詞
Function RemoveDupeswords(txt As String, Optional delim As String = " ") As String
'Updateby Extendoffice
Dim x
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then RemoveDupeswords = Join(.keys, delim)
End With
End Function
3. 接著關閉程式碼視窗並返回工作表,在資料旁的空白儲存格中輸入公式 =RemoveDupeswords(A2,“, “),然後向下拖曳填滿控點,將公式套用至其他儲存格,請參見截圖:
注意:「A2」是您要從中移除重複字詞的儲存格,目前以逗號與空格(“, “)作為分隔符號;您可依需求更換為其他分隔符號。
提示:此函數不區分大小寫,小寫與大寫字母將視為相同字元。
4.3 將文字字串修剪為 N 個字詞如果儲存格中包含一段長文字,您可能希望將其修剪為特定數量的字詞——僅保留前 n 個字詞,並移除其餘內容。本節將介紹幾種實用技巧,協助您在 Excel 中輕鬆完成這項任務。
使用公式將文字字串修剪為 N 個單字若要將文字字串修剪為 N 個字詞,您可以建立一個以 LEFT、FIND 與 SUBSTITUTE 函數為基礎的公式,其通用語法如下:
=LEFT(text,FIND("~",SUBSTITUTE(text," ","~",N))-1)「text」:您要進行修剪的文字字串或儲存格參照;「N」:代表您要從指定文字字串左側保留的字詞數量。若要處理此任務,請將下列公式複製或輸入至空白儲存格中:
=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",B2))-1) 接著,向下拖曳填滿控點,將此公式套用至其他儲存格,請參見截圖:
使用使用者自訂函數將文字字串修剪為 N 個單字除了上述公式外,您也可以建立一個使用者自訂函數來解決此問題,請依照下列步驟操作:
1. 按住「Alt + F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
2. 點選「插入」>「模組」,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:將文字字串修剪為 N 個字詞
Function GetNWords(StrWords As String, Num_of_Words As Integer) As String
'Updateby Extendoffice
Dim xArr
Dim xRes As String
Dim xF As Integer
xStr = StrWords
If (Num_of_Words < 1) Then
GetNWords = ""
Exit Function
End If
xArr = Split(xStr, " ")
xRes = ""
On Error Resume Next
For xF = 0 To UBound(xArr)
If Trim(xArr(xF)) <> "" Then
Num_of_Words = Num_of_Words - 1
If xRes = "" Then
xRes = Trim(xArr(xF))
Else
xRes = xRes & " " & Trim(xArr(xF))
End If
End If
If Num_of_Words = 0 Then Exit For
Next
If Num_of_Words = 0 Then
GetNWords = xRes & "..."
Else
GetNWords = xRes & "..."
End If
End Function
3. 接著關閉並退出程式碼視窗,返回工作表,在空白儲存格中輸入公式:=GetNWords(A2,B2),然後向下拖曳填滿控點,將公式套用至其他儲存格,即可僅保留指定數量的前幾個字詞,如下方截圖所示:
最佳 Office 生產力工具🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數……熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找……高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單……欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位……精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Kutools for Excel 詳細資訊……免費下載…… Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊! Office Tab 詳細資訊……免費下載…… 所有 Kutools 增益集,一個安裝程式Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗30 天完整功能試用— 無需註冊,無需信用卡超值之選— 比單獨購買各增益集更省費用 Kutools for Office 詳細資訊……免費下載……