Excel公式提取段落中括号内关键信息至指定单元格/列的实现方案咨询
Excel公式提取段落中括号内关键信息至指定单元格/列的实现方案咨询
Hi there! 看你说Excel单元格里存着各种混合信息的段落,想要批量提取括号里的核心内容,而且这只是源材料的片段,需要通用的格式化方法对吧?我给你几个Excel原生就能实现的实用方案,不用额外装插件:
单个括号对的基础提取
如果每个单元格里只有一组括号,直接用这个公式就行(假设目标内容在A1单元格):=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)原理很直白:先用
FIND定位左括号的位置,加1跳过左括号;再算出左右括号之间的字符数,最后用MID精准截取中间的内容。多组括号内容的提取与合并
如果单元格里有多组括号(比如xxx(内容1)xxx(内容2)xxx),想要把所有括号里的内容提取出来,有两种方式:- 合并到单个单元格:用数组公式(Excel 365/2021直接回车,旧版本按
Ctrl+Shift+Enter确认),把所有内容用逗号分隔:=TEXTJOIN(", ",TRUE,IFERROR(MID(A1,SEARCH("(",A1,ROW(INDIRECT("1:"&LEN(A1))))+1,SEARCH(")",A1,SEARCH("(",A1,ROW(INDIRECT("1:"&LEN(A1)))))-SEARCH("(",A1,ROW(INDIRECT("1:"&LEN(A1))))-1),"") - 自动拆分到多列:适合Excel 365的动态数组功能,公式会自动把每个括号内容 spill到右侧单元格:
=FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(A1,"(","</s><s>"),")","</s><s>")&"</s></t>","//s[position() mod 2 = 0]")
- 合并到单个单元格:用数组公式(Excel 365/2021直接回车,旧版本按
批量处理小技巧
写完公式后,直接拖动单元格右下角的填充柄往下拉,就能一键批量处理整列的内容,效率拉满!
小提醒:如果你的括号是中文全角的(),记得把公式里的半角括号()替换成全角的,不然会找不到位置哦!
备注:内容来源于stack exchange,提问作者3Cubed




