
使用MID與FIND組合、TEXTBEFORE與TEXTAFTER函數、PowerQuery或VBA可精準提取文本中間內容,適用于不同Excel版本和數據場景。
如果您需要從一長串文本中提取位于中間的特定內容,例如從一段包含固定格式的字符串中獲取關鍵信息,則可以通過Excel內置的文本函數或工具實現精準提取。以下是幾種有效的操作方法。
本文運行環境:聯想ThinkPadX1Carbon,Windows11
一、使用MID與FIND組合函數提取
該方法適用于目標內容前后有明確分隔符或固定標識字符的情況。通過FIND函數定位起始位置,再用MID函數截取指定長度的字符。
1、在目標單元格輸入公式:=MId(A1,FIND("開始標識",A1)+LEN("開始標識"),FIND("結束標識",A1)-FIND("開始標識",A1)-LEN("開始標識")),其中A1為原始文本所在單元格。
2、將“開始標識”和“結束標識”替換為實際文本中用于界定目標內容的前后字符串。
3、按Enter鍵確認,若格式正確則顯示提取結果,否則檢查標識字符是否存在拼寫錯誤。
二、利用TEXTBEFORE與TEXTAFTER函數(適用于Excel365及以上版本)
這兩個函數可直接根據指定分隔符提取其前或其后的文本內容,適合結構清晰的文本處理。
1、先使用TEXTAFTER函數獲取目標內容前的截斷文本:=TEXTAFTER(A1,"開始標識")。
2、再嵌套TEXTBEFORE函數進一步截取后續分隔符之前的部分:=TEXTBEFORE(TEXTAFTER(A1,"開始標識"),"結束標識")。
3、將公式中的“開始標識”和“結束標識”替換為實際使用的分隔字符串。
4、確認公式的括號配對無誤后按下Enter鍵執行。
三、通過PowerQuery進行結構化提取
當數據量較大且格式相對統一時,使用PowerQuery可以實現批量提取并保留原始數據完整性。
1、選中包含文本的數據列,點擊“數據”選項卡中的“從表格/區域”導入到PowerQuery器。
2、在查詢器中選擇目標列,依次點擊“添加列”→“提取”→“從分隔符中提取”。選擇“分隔符右側的文本”作為起始點,再以另一分隔符提取左側文本。
3、設置完成后關閉并加載查詢結果回Excel工作表。
4、新生成的列將僅包含兩次提取操作后得到的中間部分內容。
四、使用VBA自定義函數實現靈活提取
對于復雜或不規則文本,可通過編寫VBA代碼創建通用提取函數,提升重復任務效率。
1、按Alt+F11打開VBA器,在模塊中插入新模塊并粘貼以下代碼:
FunctionExtractMidText(cellAsRange,startStrAsString,endStrAsString)AsStringDimstartPosAsInteger,endPosAsIntegerstartPos=InStr(cell.Value,startStr)+Len(startStr)endPos=InStr(cell.Value,endStr)IfstartPos>0AndendPos>0ThenExtractMidText=Mid(cell.Value,startPos,endPos-startPos)ElseExtractMidText=""EndIfEndFunction
2、返回Excel,在單元格中調用該函數:=ExtractMidText(A1,"開始標識","結束標識")。
3、確保宏安全性設置為啟用所有宏或信任當前文檔后方可運行。
以上就是Excel怎么從一長串文本中提取中間的特定內容_Excel提取文本中間內容方法的詳細內容,!

