修改Excel可拖拽公式 实现按()分隔符拆分单元格(无宏)
问题背景
- 单元格B1初始内容如下:
AB,1,CD,3,EFG,3,
- 之前已编写支持横向拖拽填充的公式,实现按逗号为分隔符拆分单元格内容,放在C1单元格的公式如下,输入完成后横向拖拽即可自动填充多列拆分结果:
=TRIM(MID(SUBSTITUTE($B1,",",REPT(" ",LEN($B1))),(COLUMNS($C1:C1)-1)*LEN($B1)+1,LEN($B1)))
待实现需求
- 本次需要处理B6单元格内容,该单元格内包含
(、)两种分隔符,需要在上述原有公式的逻辑基础上调整,实现同时按(和)拆分单元格,拆分效果与此前C1:K1区域的逗号拆分效果完全一致。 - 方案限制:仅接受Excel原生公式方案,不接受宏/VBA类解决方案。
可用公式
将以下公式输入C6单元格,输入完成后横向拖拽填充即可:
=TRIM(MID(SUBSTITUTE(SUBSTITUTE($B6,"(",REPT(" ",LEN($B6))),")",REPT(" ",LEN($B6))),(COLUMNS($C6:C6)-1)*LEN($B6)+1,LEN($B6)))
- 逻辑说明:完全复用原有公式的拆分逻辑,仅新增一层
SUBSTITUTE嵌套,先后将(、)两种分隔符都替换为与B6单元格内容等长的空格,后续固定长度截取、去除首尾空格的逻辑和原公式完全一致,拆分后的空段也会正常保留,和原有逗号拆分的表现完全对齐。
内容的提问来源于stack exchange,提问作者HelpMeCode
相关产品推荐
相关产品推荐

