欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,今天来和大家分享一道文本拆分的题目。文本拆分在我们的日常工作中非常常见,通常来讲需要快速、准确地处理工作内容,因此效率上就有很高的要求。
今天介绍的这道题目提供了一繁一简两种解题方法作比较,更好地体现了快速、准确和高效这样一个主题。
题目时下面这样的:
题目要求将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操作问题时不再迷茫无助
我就知道你“在看”