生活知识|单元格怎么拆分,一个单元格多行内容去除空行( 四 )


⑦ 公式变为:=LEFT(A1,6), 最后用 Left 从左边截取 A1 中的文字左边 6 个字符, 即 WS-560 。

B、拆分右边部分的公式:=MID(A1,LOOKUP(1,0/(LENB(MID(A1,ROW($1:$15),1))=2),ROW($2:$16)),15)
① LENB(MID(A1,ROW($1:$15),1))=2 返回的值上面已经分析过, 结果为{False,False,False,False,False,False,True,True,True,True,True,False,False,False,False}, 接着用 0 除以数组中的每个元素, 返回结果为 {#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,0,0,0,0,0,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!} 。
② ROW($2:$16) 返回 2 到 16 的数组, 即 {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}, 则公式变为:
=MID(A1,LOOKUP(1,{#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,0,0,0,0,0,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!},{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}),15)
接着用 LookUp 在含有 #DIV/0! 的数组中查找 1, 由于找不到 1, 所以返回小于等于 1 的最大值, 又由于有 5 个 0, 所以返回最后一个 0, 然后根据返回 0 在数组中的位置在 2 到 16 的数组中找与 0 对应位置的值, 即第 11 位的值, 该值为 12 。
③ 公式变为:=MID(A1,12,15), 最后用 Mid 把 A1 中的文字从第 12 开始截取, 共截取 15 字符, 返回 A1 中的文字后面的数字 86.9 。 提示:Mid函数如果指定的截取字符数大于文本长度, 只截取到末尾 。

C、拆分中间的部分公式:=SUBSTITUTE(SUBSTITUTE(A1,B1,""),D1,"")
公式由两个 SubStitute函数嵌套组成, 里面的 SUBSTITUTE(A1,B1,"") 用于替换 B1 的内容, 即用“空”替换 A1 中的 B1(用 WS-560 替换“WS-560长袖白衬衫86.9”中“WS-560”);外面的 SubStitute 用于替换 D1 的内容, 经 SUBSTITUTE(A1,B1,"") 的替换, 公式变为:=SUBSTITUTE("长袖白衬衫86.9",D1,""), 再用“空”替换 D1 的文字(86.9), 最后返回“长袖白衬衫” 。
提示:公式 =SUBSTITUTE(SUBSTITUTE(A1,B1,""),D1,"")可以省略 "", 即可这样写:=SUBSTITUTE(SUBSTITUTE(A1,B1,),D1,) 。

推荐阅读