首页 > 范文大全 > 正文

Excel复合型数字循环递增

开篇:润墨网以专业的文秘视角,为您筛选了一篇Excel复合型数字循环递增范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【挑战题描述】

excel的单元格中添加连续数字是很容易的,比如在前两个单元格中分别输入1、2,再选中这两个单元格,然后拖动右下角的小黑格(填充柄),就可以快速填充连续数字了。但如果同一个单元格中不是一个数据,而是有两个数字,并且两个数字的循环还是不同步的,能否实现呢?

题号:20140102

【解题思路】

看到这一题,我首先想到了Excel的宏(VBA),实现起来应该很简单。但是出题人要求使用公式来解决,并且单元的填充内容中除了数字外还包含了“CF”之类的字符,所以我们应该会用到几个字符串函数:FIND、MID、RIGHT。

FIND:用来寻找字符串中另一字符串的位置。

MID:用来从一个字符串中截取出一段字符。

RIGHT:从右边截取字符串。

是不是有点晕?别着急,看完下面的介绍你就明白了。

【解题方法】

每个单位元中有两个数字,每个数字有自己的循环周期,这里我们首先手工创建第一个周期,即CF1CFAN0.01~CF1CFAN0.06。下面的所有周期则是在上述基础上通过公式来完成,构造的公式为:

="CF" & MID(A1,3,FIND("CFAN",A1)-3)+1 & "CFAN" & RIGHT(A1,4)

我们来分解一下这个公式:

&:这个运算符是用来连接各个字符串的。

CF和CFAN:这是每个数字前的固有字符前缀,可以根据自己的实际需要换成其他的字符。

MID函数:此处用来截取A1单元格中CF后的数字。

FIND函数:用来获取A1单元格中CF后数字的长度。

RIGHT函数:用来截取A1单元格后的0.01~0.06。

在A7单元格中输入上述的公式后,拖住它右下角的填充柄,向下拖动就可以自动填充单位格,且两组数字按自身的规律循环递增(图1)。

【挑战扩展】

1假如每个循环周期不是6个,而是7个、8个、9个呢?

很简单,还是将第一个循环周期做出来,依葫芦画瓢,在第一个周期下面的单元格中填入上述公式即可。

2如果要更改字符串怎么办?

如果要换前面的“CF”前缀,那么需要将公式中单引号括起来的CF换成别的,并将MID函数的第二个参数(原公式中为3)换为新前缀的长度+1,同时还要把FIND函数后面的减号后的数值变为前缀长度+1。例如将CF换为CFAN,则原公式中的3就应换为5,-3应变为-5,公式就变为(图2):

="CFAN" & MID(A1,5,FIND ("CFAN",A1,3)-5)+1 & "CFAN" & RIGHT(A1,4)

如果要换中间的CFAN,就要将FIND函数中的“CFAN”和用“&”连接的CFAN一并换掉。如果要换数字,那么只需要将第一周期中的数字改掉,并将RIGHT函数的的二个参数改为数字的长度即可(图3)。

另外,还应该考虑到重复的问题,比如“CFAN1CFAN0.01”就应该在FIND函数中再添加一个起始位置参数,来避开前缀中的重复字符,公式就应改为:

="CFAN" & MID(A1,5,FIND ("CFAN",A1,3)-5)+1 & "CFAN" & RIGHT(A1,4)

最后完成的效果将如图4所示。