Excel中提取括号内内容有五种方法:一、MID+FIND提取中文括号内容;二、SUBSTITUTE+FIND提取英文括号内容;三、TEXTBEFORE+TEXTAFTER函数(新版);四、Power Query图形化拆分;五、VBA自定义函数一键提取。

如果您在Excel中需要从包含括号的文本字符串中快速提取括号内的内容,则可能是由于原始数据格式不统一、人工逐条复制效率低下。以下是多种可直接套用的提取方法:
一、使用MID与FIND组合公式提取第一个中文括号内文本
该方法适用于文本中仅含一对中文全角括号(“(”和“)”),且目标内容位于第一对括号之间。公式通过定位左括号与右括号的位置,计算起始点与字符长度,从而截取中间内容。
1、选中目标列右侧空白单元格(例如B1),输入以下公式:
=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
2、按Enter确认计算结果。
3、将B1单元格右下角填充柄向下拖拽,批量应用至其他行。
二、使用SUBSTITUTE嵌套配合FIND提取英文半角括号内文本
该方法适用于处理英文半角括号(“(”和“)”),尤其当原文本中存在多个括号但只需提取最内层或首个左括号对应右括号之间的内容时。通过替换左括号为特殊分隔符,再结合FIND定位,规避嵌套干扰。
1、在空白单元格中输入公式:
=TRIM(MID(SUBSTITUTE(A1,"(",REPT(" ",100)),2,100))
2、在另一列中对上一步结果继续处理,输入:
=LEFT(B1,FIND(")",B1)-1)
3、合并为单公式(可选):
=TRIM(LEFT(SUBSTITUTE(MID(A1,FIND("(",A1),LEN(A1)),"(",REPT(" ",100)),100),FIND(")",SUBSTITUTE(MID(A1,FIND("(",A1),LEN(A1)),"(",REPT(" ",100)),100))-1))
三、使用TEXTBEFORE与TEXTAFTER函数(Excel 365 / 2021版)
该方法适用于已安装支持动态数组函数的最新版Excel,语法简洁、容错性强,可自动识别括号边界并提取中间内容,无需嵌套复杂定位逻辑。
1、在空白单元格中输入:
=TEXTAFTER(TEXTBEFORE(A1,")"),"(")
2、若需兼容左括号为半角的情况,分别使用:
=TEXTAFTER(TEXTBEFORE(A1,")"),"(")
3、如原始文本可能不含括号导致报错,可包裹IFERROR:
=IFERROR(TEXTAFTER(TEXTBEFORE(A1,")"),"("), "")
四、使用Power Query图形化提取(无需记忆公式)
该方法适用于大批量、多格式括号文本的结构化清洗,支持可视化操作与步骤复用,提取逻辑稳定,适合非编程用户长期维护数据流程。
1、选中数据列 → 【数据】选项卡 → 点击【从表格/区域】→ 勾选“表包含标题”→ 确定进入Power Query编辑器。
2、右键点击含括号的列 → 选择【拆分列】→ 【按分隔符】→ 在分隔符框中输入“(”→ 选择“在每个分隔符处拆分”→ 点击确定。
3、再次右键新生成的右侧列 → 【拆分列】→ 【按分隔符】→ 输入“)”→ 选择“在左侧最左分隔符处拆分”→ 点击确定。
4、删除不需要的辅助列,保留仅含括号内内容的列 → 【主页】→ 【关闭并上载】→ 数据自动回填至工作表。
五、使用VBA自定义函数实现一键提取
该方法适用于高频重复使用场景,一旦定义完成,可在任意单元格像普通函数一样调用,支持中英文括号自动识别与多对括号时提取首对内容,扩展性强。
1、按Alt+F11打开VBA编辑器 → 插入 → 模块 → 粘贴以下代码:
Function ExtractInParentheses(cell As Range) As String
Dim txt As String, startP As Long, endP As Long
txt = cell.Value
startP = InStr(txt, "(")
If startP = 0 Then startP = InStr(txt, "(")
If startP = 0 Then ExtractInParentheses = "": Exit Function
endP = InStr(startP, txt, ")")
If endP = 0 Then endP = InStr(startP, txt, ")")
If endP = 0 Then ExtractInParentheses = "": Exit Function
ExtractInParentheses = Mid(txt, startP + 1, endP - startP - 1)
End Function
2、返回Excel,在单元格中输入:
=ExtractInParentheses(A1)
3、按Enter执行,函数即刻返回括号内文本。










