多语言展示
当前在线:919今日阅读:100今日分享:18

EXCEL 常用函数应用实例:[5]拆分单元格内容2

前一篇经验介绍了如何通过关键字拆分地址,本篇经验将介绍如何拆分一个单元格的内容到多个单元格中。与前面不同的是,判断拆分位置的字符串有多个,间隔位置一定或者不定的两种情况。第一篇经验提取姓时我们忽略了复姓,这一篇经验将会成为提取复姓的基础。本次要使用的函数有:“ROW”、“MID”以及绝对引用符“$”。
工具/原料
1

Microsoft office EXCEL 2003 以上的版本 或 WPS

2

浏览器

一、单元格内容拆分说明/分析
2

第一个要分离的内容是复姓,字符数非常有规律,没两个字符也就是一个复姓,就一个“、”。(如果用的是其它分隔符是一样的处理方法,把顿号替换成你的分隔符,空格是一个特殊的字符串。)第二个要分离的内容是姓名,每一个姓名可能是2-4个字,字符数不定,但是也是每个名字相隔一个“、”。

3

针对字符数有规律的,很容易想到跟行数建立关系。第一行从第一个开始截取2个汉字,第二行从第4个开始截取2个汉字,第三行从第7个开始截取2个汉字……很明显是一个等差数列,1,4,7,10……,第 n 行=1+(n-1)d,公差是3,n是行数(可用函数取得)。第二个为字数不定的情况,这种情况我们必须计算出每一个顿号的位置,然后减去前一个顿号的位置,就是我们要截取字符串的长度。而开始截取的位置则为上一个顿号的位置+1.(这个方法适用于字数确定的截取)

二、拆分单元格内容
1

首先介绍新的函数及符号:ROW([reference]) 函数用来返回某一个单元格的行数,只有一个可选参数[reference],为需要返回行数的单元格,不填则为当前单元格。$ 绝对引用符,在我们自动填充时,EXCEL会自动帮我们填上相对的位置。但有的时候我们不需要电脑填上相对的位置时,就要用绝对引用符 $ 。分左右两边,左边的是控制横向绝对引用,右边的是控制纵向绝度引用。两边都用,则控制横向和纵向绝对引用。如图示,自动填充时,如果不使用绝对引用,B2=A2,而绝对引用向下填充则始终等于A1。这里我们就是要始终截取一个单元格,使其向下填充时不取相对路径。

2

有了思路之后,分离就变得非常简单了。完整录入内容如下:=MID($D$1,1+3*(ROW()-1),2)

3

对于不定字数的截取,先计算出第一个顿号的位置。第二个顿号查找的位置是从第一个顿号的位置+1开始找。然后第二个向下填充即可。

4

再根据计算出来的结果,截取姓名。第一个由于不需要减掉前面的,所以运算式会不一样。

5

第二个向下填充,即可得到我们要的结果。为了美观,我们可以将计算顿号位置的列隐藏。

注意事项

如果分隔符为空格,可以用' '来查找。

推荐信息