禁止强⊗拆⊗,拆也要按一定套路技巧来的!

文摘   2024-11-03 21:30   上海  




欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路





小伙伴们好,今天来和大家分享一道文本拆分的题目。文本拆分在我们的日常工作中非常常见,通常来讲需要快速、准确地处理工作内容,因此效率上就有很高的要求。

今天介绍的这道题目提供了一繁一简两种解题方法作比较,更好地体现了快速、准确和高效这样一个主题。

题目时下面这样的:




题目要求将A列中的数据拆分成一列,结果已经写在了C列中。该如何做这道题目呢?


01

经典套路组合


对于这种类型的题目,大佬们早已总结出了处理的经典套路组合。




在单元格C2中输入下列公式,三键确认后向下拖曳即可。

=TRIM(MID(SUBSTITUTE(INDEX($A$2:$A$8,SMALL(IF(LEN($A$2:$A$8)-LEN(SUBSTITUTE($A$2:$A$8,"、",""))+1<COLUMN($A:$T),100,ROW($2:$8)),ROW(A1))-1),"、",REPT(" ",99)),MOD(SMALL(IF(LEN($A$2:$A$8)-LEN(SUBSTITUTE($A$2:$A$8,"、",""))+1<COLUMN($A:$T),100,ROW($2:$8))*100+COLUMN($A:$T),ROW(A1)),100)*99-98,99))

=TRIM(MID(SUBSTITUTE(INDEX($A$2:$A$8,SMALL(IF(LEN($A$2:$A$8)-LEN(SUBSTITUTE($A$2:$A$8,"",""))+1<COLUMN($A:$T),100,ROW($2:$8)),ROW(A1))-1),"",REPT(" ",99)),MOD(SMALL(IF(LEN($A$2:$A$8)-LEN(SUBSTITUTE($A$2:$A$8,"",""))+1<COLUMN($A:$T),100,ROW($2:$8))*100+COLUMN($A:$T),ROW(A1)),100)*99-98,99))

简单介绍一下这条公式的思路。这是一个MID函数结构。第一段蓝色的部分是用来提取源数据中每行的数据;第二段绿色的部分是拆分行中的每个数据。

这真是一个长火车,如有兴趣的朋友可以自己拆解一下这段公式或者给我留言哦!


02

FILTERXML函数


上面的公式过于复杂,而下面的这条则要简洁明了得多,在效率上也有大大提高。

首先我们需要处理一下源数据,在单元格区域B2:B7中插入顿号,如下图。




首先选中单元格区域D2:D13,输入下列公式,三键确认即可。

=FILTERXML("<a><b>"&SUBSTITUTE(PHONETIC($A$2:$B$8),"、","</b><b>")&"</b></a>","a/b")

这是一条区域数组公式,相比上一条公式则要简单得多。我们仅仅通过增加一列辅助列,就可以使公式难度降低几个层级,易于理解和使用。


本期内容练习文件提取方式:

链接: https://pan.baidu.com/s/1GmSCQwi_Oxf8wsoSHvCWGQ?pwd=z832 提取码: z832 


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!


-END-


长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助


我就知道你“在看”


推荐阅读

Excel应用之家
介绍、交流EXCEL各项功能在工作中的实际应用; 为你答疑解惑;分享各类图表、表格和模板;提供有偿代工服务。
 最新文章