Excel 公式:將句子拆分為單字
在 Excel 中,我們都知道「文字分列」功能可根據分隔符號將句子拆分到不同的儲存格中。但在某些情況下,您可能希望透過公式來完成這項任務。本教學將提供一個陣列公式,協助您輕鬆達成此目的。
通用公式:
| =MID(" "&$TXT&" ", SMALL(IF(ISERROR(SEARCH(MID(" "&$TXT&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(" "&$TXT&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(" "&$TXT&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))-1) |
引數
| Number: the sentence or text string you want to split to words in separated cells. |
公式運作方式
以儲存格 B3 為例,您可以使用下列公式:
| =MID(" "&$B3&" ", SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))-1) |
按下 Shift + Ctrl + Enter 鍵提取第一個單字,再向右拖曳填滿控點,即可輕鬆完成所有單字的提取!

說明
MID函數可根據您指定的起始位置與字元數,從文字字串中精準提取子字串!
ROW函數傳回列號,此處設定為傳回 1 到 99 的陣列。
接著公式 MID(" "&$B2&" ", ROW($1:$99), 1)
=MID(" Class A Grade 3 Lily Core", {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99}, 1)
={" ";"C";"l";"a";"s";"s";" ";"A";" ";"G";"r";"a";"d";"e";" ";"3";" ";"L";"i";"l";"y";" ";"C";"o";"r";"e";" ";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";
““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““;““}
SEARCH函數可在指定文字字串中找出特定字元或文字的位置;若找不到,則傳回錯誤值。
公式 SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")
={1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;1;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1}
ISERROR 函數在值為錯誤時,會傳回 TRUE。
接著公式 ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " "))
={FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;
TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE}
IF函數用於測試特定條件,包含三個引數:第一個必須是邏輯運算式;若為「TRUE」,則傳回第二個引數;若為「FALSE」,則傳回第三個引數。
公式 IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99))
={1;"";"";"";"";"";7;"";9;"";"";"";"";"";15;"";17;"";"";"";"";22;"";"";"";"";27;28;29;30;31;32;33;34;35;
36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;
64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;
93;94;95;96;97;98;99}
SMALL 函數會傳回陣列中的最小值。
COLUMN函數可傳回公式所在欄的編號,或指定參照的欄號。
接著
SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))
={1}
接著公式
SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1)+1)- SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))
={7-1}
={6}
接著公式
MID(" "&$B3&" ", SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))-1)
=MID(" "&$B3&" ",2,6-1)
={Class}
範例檔案
相關公式
- 從右側提取至指定字元
本文介紹如何運用公式,從指定文字右側開始提取內容,直至遇見特定字元為止。 - 將文字修剪為 N 個單字
本文介紹如何運用公式,輕鬆從文字字串左側提取前 N 個單字! - 新增前置零以固定長度
本教學提供實用公式,助您輕鬆新增前置零,讓文字統一為固定長度! - 拆分美元與美分
在 Excel 中運用公式,輕鬆將金額拆分為美元與美分兩個欄位!
相關函數
- MID 函數
根據指定的起始位置與字元數,從儲存格內容中精準提取所需文字。 - COLUMN 函數
傳回公式所在欄的編號,或指定參照的欄號。 - ROW 函數
立即取得指定儲存格或範圍的列號,輕鬆掌握資料位置! - SEARCH 函數
用於在指定文字字串中搜尋特定字元或子字串的位置。 - IF 函數
用來測試特定條件。
最佳 Office 生產力工具
Kutools for Excel -助您脫穎而出
| 🤖 | KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、標示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 超級 VLookup:多重條件 | 多重值 | 跨多個工作表 | 模糊查找…… | |
| 進階下拉列表:簡易下拉式清單 | 相依下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位 | 移動欄位 | 切換隱藏欄位的可見狀態 |比較欄位以選擇相同/不同單元格…… | |
| 精選功能:網格聚焦 | 設計視圖 | 增強編輯欄 | 工作簿與工作表管理員|資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符……)| 50+ 圖表 類型(甘特圖……)| 40+ 實用公式(基於生日計算年齡……)| 19 插入工具(插入二維碼,從路徑插入圖片……)| 12 轉換工具(金額轉大寫,匯率轉換……)| 7 合併和拆分工具(高級合併行,拆分 Excel 儲存格……)|……還有更多 |
Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……
Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯
- 一秒內在數十份開啟的文件間快速切換!
- 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
- 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
- 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。
按一下即可下載範例檔案