Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何在 Excel 中按大寫字母將文字分割到不同的欄位?

Author Xiaoyang Last modified

在 Excel 中處理數據時,您可能會偶爾遇到包含多個單詞合併在一起的儲存格,每個單詞均以大寫字母開頭,例如「FirstNameLastName」或「SalesMarchApril」。為了進行數據清洗或分析,您可能需要在每個大寫字母處將內容拆分到不同的欄位中,如下方截圖所示。然而,Excel 並未提供直接內建的功能來實現這種按大寫字母拆分的操作。有哪些實用的方法可以幫助您快速準確地根據大寫字母將單詞分離到各個欄位中呢?

以下是針對這個問題的三種有效解決方案,每種方法都有其適用場景和優勢:


使用公式按大寫字母將文字分割到不同欄位

如果您的數據由僅包含兩個單詞合併的大寫字母值組成,那麼 Excel 公式可以幫助將內容分割到不同的欄位。這種解決方案簡單直觀,不需要任何程式碼或外掛,非常適合較小的數據集或不太複雜的拆分需求。

1. 在您數據旁邊的一個空白儲存格(例如 C2)中,輸入以下陣列公式以提取 A2 儲存格中的第一個單詞(A2 包含要拆分的文字):

=LEFT(A2,SMALL(FIND(CHAR(ROW(INDIRECT("65:90"))),A2&"ABCDEFGHIJKLMNOPQRSTUVWXYZ"),2)-1)

輸入公式後,務必同時按下 Ctrl + Shift + Enter。這對於某些 Excel 版本中的陣列公式是必需的。如果操作正確,編輯欄(F) 中會出現大括號 {} 包圍該公式。此公式通過搜索儲存格中的第二個大寫字母,然後提取該位置之前的所有字符,從而得出第一個單詞。

use a fromula to to get the first word

2. 要將公式應用於其他條目,請選取 C2 儲存格,然後向下拖動填滿控制柄,將公式填充到該列中的其他儲存格中。這樣每一行對應的第一個單詞將自動被提取出來。

drag and fill the formula to other cells

3. 接下來,在右側的儲存格(例如 D2)中,輸入以下公式以提取剩餘的文字(第二個單詞):

=REPLACE(A2,1,LEN(C2),"")

此公式移除在上一步中提取的第一個單詞,只留下第二個單詞。只需按 Enter 鍵確認即可。

use a fromula to to get the second word

4. 同樣地,選取 D2 儲存格並使用填滿控制柄將此公式向下拖動到其他行。這樣原始範圍內每個儲存格的文字將被分割為兩列,以大寫字母的位置進行區分。

drag the formula to other cells

a screenshot of kutools for excel ai

使用 Kutools AI 解鎖 Excel 的魔法

  • 智能執行:執行單元格操作、分析數據並創建圖表——所有這些都由簡單的指令驅動。
  • 自訂公式:生成量身定制的公式,簡化您的工作流程。
  • VBA 編碼:輕鬆編寫和實現 VBA 代碼。
  • 公式解釋:輕鬆理解複雜的公式。
  • 文本翻譯:打破電子表格中的語言障礙。
通過人工智能工具增強您的 Excel 能力。立即下載,體驗前所未有的效率!

使用 VBA 程式碼按大寫字母將文字分割到不同欄位

上述基於公式的解決方案非常適合僅需分割兩個單詞的情況,但無法處理包含兩個以上合併單詞的儲存格(例如 'FirstNameMiddleNameLastName')。在這種情況下,您可以使用 VBA 程式碼自動在每個大寫字母前插入空格,從而分隔單詞。在添加這些空格後,您可以使用 Excel 的內建「文字轉欄位」功能將文字分割為獨立的欄位。

首先,應用 VBA 程式碼在大寫字母前添加空格以分隔單詞。

1. 按 ALT + F11 打開 Microsoft Visual Basic for Applications 編輯器窗口。

2. 在 VBA 編輯器中,點擊 插入 > 模組,然後將以下代碼粘貼到新模組窗口中。

VBA 程式碼:在儲存格中的每個大寫字母前插入空格

Function SplitWords(ByVal Str As String) As String
'updateby Extendoffice 20151128
    Dim I As Integer
    SplitWords = Left(Str, 1)
    For I = 2 To Len(Trim(Str))
        If (Asc(Mid(Str, I, 1)) > 64) And _
           (Asc(Mid(Str, I, 1)) < 91) And _
           (Mid(Str, I - 1, 1) <> " ") Then _
            SplitWords = SplitWords & " "
        SplitWords = SplitWords & Mid(Str, I, 1)
    Next
End Function

輸入或粘貼完成後,關閉 VBA 編輯器返回工作表。此程式碼定義了一個名為 splitwords 的新函數,您可以像使用普通工作表公式一樣使用它。注意,啟用宏可能是使用此函數的必要條件,並且您應該將工作簿保存為 .xlsm 文件以保留 VBA 程式碼。

3. 在您的數據旁邊的一個空白儲存格中,輸入以下公式以在 A2 儲存格中每個大寫字母前插入空格:

=splitwords(A2)

此公式調用用戶自定義函數來處理每個儲存格。按 Enter 鍵後,您應該會看到每個大寫字母前已經插入了空格,使單詞變得清晰可辨。

enter a user defined function to add spaces before the capital letter

4. 使用填滿控制柄將此公式向下複製到所有相關儲存格,以便逐行處理。

 the spaces have been inserted before each capital letter

5. 此時,儲存格中包含公式。您可能希望將值複製並粘貼到其他地方,僅保留處理後的文字,而不帶有公式鏈接。要做到這一點,請選取已處理的儲存格,複製它們,然後右鍵單擊並選擇「選擇性粘貼」>「值」到指定位置。

copy and paste theses formula cells as values

其次,應用「文字轉欄位」功能按空格將儲存格內容分割到不同的欄位。

6. 現在,選取包含空格的儲存格值(來自前一步的結果)。在功能區上,前往 數據 > 文字轉欄位。當「轉換文字至欄位精靈」出現(第1步),選擇 分隔符 單選按鈕。 

click Data > Text to Columns, and choose Delimited option

7. 點擊 下一步,在第2步選擇 分隔符 下的 空格 選項。這將告訴 Excel 使用空格作為分割點來將數據分割成欄位。

check Space option under the Delimiters section

8。在第3步中,確保 常規 選擇作為欄位數據格式(或根據需要選擇另一種格式),並通過點擊選擇您希望分割數據出現的儲存格。 select button。確保目的地範圍不會覆蓋現有數據。

specify options in the dialog box

9. 點擊 完成,Excel 將把文字分割成多個欄位,每個欄位代表一個原先由大寫字母分隔的單詞。

cell contents have been split into multiple columns

如果您遇到一些單詞未按預期分割的錯誤,請檢查例外情況,例如縮寫詞(連續多個大寫字母)或尾隨空格。考慮改進您的 VBA 程式碼或再次檢查數據中的異常值。另外,記住定期保存您的工作,特別是在使用 VBA 或執行批量數據操作時。

這種方法在處理不一致的文字長度或每個儲存格中的單詞計數時特別有用。然而,有些用戶可能不太習慣運行 VBA 程式碼,在這種情況下,您可以考慮下面的替代方法。


使用 Kutools for Excel 按大寫字母將文字分割到不同欄位

Kutools for Excel 提供了一個友善且高效的解決方案,讓各種技能水平的用戶都能按照大寫字母分割文字,特別適用於大型數據集或重複任務。通過結合其 添加文本 和 分割儲存格 功能,您可以輕鬆完成操作,幾乎無需額外努力和風險。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

1. 選取包含您想分割的原始數據的儲存格。

2. 點擊 Kutools > 文字 > 添加文本。此工具可幫助您在每個大寫字母前插入字符或分隔符——例如空格。

click Add Text feature of kutools

3. 在 添加文本 對話框中,輸入空格(或根據需要輸入其他分隔符)到 文本 輸入框中。然後,在 僅添加至 部分,選擇 第1個字母為大寫。這告訴 Kutools 在所選儲存格的每個大寫字母前添加您選擇的分隔符。

set options in the dialog box

4. 點擊 確定。Kutools 將自動在每個大寫字母前添加空格,立即準備好您的數據以進行分割。

spaces have been added before each capital letter

5. 接下來,仍然選取處理過的範圍,前往 Kutools > 合併與分割 > 分割儲存格 以開始按分隔符分割文字到欄位中。

click Split Cells feature of kutools

6. 在 分割儲存格 對話框中,選擇 分割至欄位 在 類型 部分,並勾選 空格(或之前添加的分隔符)核取方塊,以指示分割位置。

select Space or other delimiters

7. 點擊 確定。將出現提示,允許您選擇分割結果的起始儲存格。仔細指定目的地,確保有足夠空間放置分割出的欄位。

select a cell to put the split data

8. 最後,點擊 確定 完成分割操作。現在,您的數據將在每個大寫字母處分布到不同的欄位中,高效且準確。

the cells are split by capital letters

這種方法非常適合處理複雜、龐大或頻繁更新的數據,有助於避免手動調整公式或編程。請記住,Kutools for Excel 還擴展了許多其他功能,促進常見和高級任務的更高效率。

立即下載並免費試用 Kutools for Excel!

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用