從Excel中的文字字串提取子字串
您可能經常需要從文字字串中提取子字串,但在Excel中並沒有直接的函數可以完成這個任務。不過,借助LEFT、RIGHT、MID和SEARCH函數,您可以根據需要提取各種子字串。
從文字字串提取特定數量的字符的子字串
在Excel中,LEFT、RIGHT和MID函數可以幫助您從文字字串的左側、右側或中間提取指定長度的子字串。
- LEFT函數:用於從文字字串的左側提取子字串。
- RIGHT函數:用於從文字字串的右側提取文字。
- MID函數:用於從文字字串的中間提取子字串。
從文字字串的左側提取子字串:
LEFT函數可以幫助您從文字字串中提取前x個字符,通用語法為:
- text: 您要提取字符的文字字串。
- num_chars: 您想從文字字串左側提取的字符數量。
請在空白單元格中輸入以下公式:
然後,將填滿控制柄向下拖動到您要應用此公式的單元格,所有前三個字符都已從原始文字中提取出來,請參見截圖:
從文字字串的右側提取子字串:
要從文字末尾提取子字串,請使用RIGHT函數:
- text: 您要提取字符的文字字串。
- num_chars: 您想從文字字串右側提取的字符數量。
例如,要從文字字串中提取最後6個字符,請在空白單元格中輸入以下公式:
然後,將此公式複製到其他需要的單元格中,所有6個字符都已從文字右側提取出來,請參見截圖:
從文字字串的中間提取子字串:
要從文字中間提取具有特定字符長度的子字串,MID函數可以幫助您。
- text: 您要提取字符的文字字串。
- start_num: 您要提取的第一個字符的位置。
- num_chars: 您要提取的字符總數。
例如,要從文字字串中第七個字符開始提取3個字符,請在空白單元格中輸入以下公式:
然後,將填滿控制柄向下拖動到需要應用此公式的單元格,您將得到以下結果:
從文字字串中提取特定字符之前或之後的子字串
LEFT、RIGHT和MID函數可以幫助您提取具有特定字符數量的統一子字串,但有時您可能需要提取變長度的子字串,您可以創建一些更複雜的公式來解決這個問題。
提取特定字符之前的子字串
要提取特定字符之前的所有字符,通用語法為:
- text: 您要提取字符的文字字串。
- char: 用於提取子字串的特定字符。
例如,我想提取連字符之前的所有字符,請在空白單元格中應用以下公式:
然後將填滿控制柄向下拖動到您要應用此公式的單元格,連字符之前的所有字符都已提取出來,如下截圖所示:
公式解釋:
- SEARCH("-",A2)-1: 此SEARCH函數用於查找單元格A2中連字符的位置,並減去1以排除該字符本身。它被識別為LEFT函數的num_chars參數。
- LEFT(A2, SEARCH("-",A2)-1): 此LEFT函數從單元格A2中的文字左側提取由SEARCH函數返回的字符數。
提取特定字符之後的子字串
如果您想提取特定字符之後的子字串,RIGHT、LEN、SEARCH函數可以幫助您,通用語法為:
- text: 您要提取字符的文字字串。
- char: 用於提取子字串的特定字符。
要提取連字符之後的字符,請應用以下公式:
然後,將此公式複製到您要使用的單元格中,您將得到如下截圖所示的結果:
公式解釋:
- SEARCH("-",A2): 此SEARCH函數用於查找單元格A2中連字符的位置。
- LEN(A2)-SEARCH("-",A2): LEN函數返回的文字字串總長度減去SEARCH函數返回的數字,以獲取特定字符之後的字符數。這被識別為RIGHT函數的num_chars參數。
- RINGT(): 此RIGHT函數用於從單元格A2中的文字字串末尾提取字符數。
提取兩個特定字符之間的子字串
如果您需要提取兩個給定字符之間的子字串,以下函數可能會對您有所幫助,通用語法為:
- text: 您要提取字符的文字字串。
- char: 用於提取子字串的特定字符。
例如,要提取兩個連字符之間的文字,請使用此公式:
然後,將填滿控制柄向下拖動以將此公式應用於其他單元格,您將得到如下截圖所示的結果:
公式解釋:
- SEARCH("-",A2) + 1: SEARCH函數用於返回連字符的位置,加1表示從下一個字符開始提取子字串。它被識別為MID函數的start_num參數。
- SEARCH("-",A2,SEARCH("-",A2)+1): 這部分公式用於獲取第二個出現的連字符的位置。
- SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1): 使用第二個連字符的位置減去第一個連字符的位置,以獲取這兩個連字符之間的字符數,然後從結果中減去1以排除分隔符字符。這被識別為MID函數的num_chars參數。
- MID(): 此MID函數根據上述兩個參數提取子字串。
相關函數:
- LEFT:
- LEFT函數從文字字串的左側提取字符串。
- RIGHT:
- RIGHT函數返回文字字串右側的文字。
- MID:
- MID函數從文字字串的中間返回特定字符。
- SEARCH:
- SEARCH函數可以幫助您從給定的文字中找到特定字符或子字串的位置。
更多文章:
- 在Excel中獲取或提取文字字串中的第一個單詞
- 要從一系列由空格分隔的文字字串中提取所有第一個單詞,Excel中的LEFT和FIND函數可以幫助您。
- 在Excel中獲取或提取文字字串中的最後一個單詞
- 要從由空格字符分隔的文字字串中提取最後一個單詞,通常您可以根據Excel中的TRIM、SUBSTITUTE、RIGHT和REPT函數創建一個公式。
- 從多行單元格中提取最後一行文字
- 要從由換行符分隔的文字字串中提取最後一行文字,通常沒有直接的方法來解決這個問題。本文將介紹一種在Excel中處理此任務的公式。
最佳的辦公生產力工具
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 一樣。