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) |
參數
數字:您要拆分為單詞的句子或文本字符串,並將其放入分離的單元格中。 |
該公式的工作原理
以單元格 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 函數
測試特定條件。
最佳的辦公生產力工具
Kutools for Excel - 幫助您脫穎而出
? | Kutools AI 助手:基於智能執行、生成代碼、創建自訂公式、分析數據並生成圖表、調用 Kutools 函數…來徹底改變數據分析方式。 |
熱門功能:查找、標記或識別重複值 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
超級 VLookup:多條件 | 多值 | 跨多工作表 | 模糊查找... | |
高級下拉列表:簡易下拉列表 | 依賴下拉列表 | 多選下拉列表... | |
列管理器:添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較列以選擇相同和不同的單元格 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文字工具(添加文本、刪除特定字符 ...) | 50+ 圖表 類型(甘特圖 ...) | 40+ 實用 公式(基於生日計算年齡 ...) | 19 個插入工具(插入QR碼、從路徑插入圖片 ...) | 12 個轉換工具(金額轉大寫、匯率轉換 ...) | 7 個合併與分割工具(高級合併行、分割Excel單元格 ...) | ... 還有更多 |
Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...
Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能
- 一秒鐘內在數十個打開的文檔之間切換!
- 每天為您減少數百次鼠標點擊,告別滑鼠手。
- 當查看和編輯多個文檔時,您的工作效率提高 50%。
- 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。