Excel文档利用函数规避特殊数字的技巧
Excel的自动填充功能很高效,但有时我们不希望看到某些数字,例如我们在生成楼层、会员卡等序号的过程中,许多人不希望看到4和7这样的数字。那么如何避免呢?
其实,通过巧妙地利用SUBSTITUTE函数的嵌套使用,可以很好地解决这个问题。我们以实际操作来具体说明吧。我们先生成一个不带4和7的列表。
首先打开一张空白Excel表,在A1单元格中填入数字1。
接下来定位光标到A2单元格,在公式栏内输入如下公式:=SUBSTITUTE(SUBSTITUTE(A1+1,4,5),7,8)
随后向下拖动A2单元格右下角的黑色方块填充柄,你看到什么了?是不是生成的所有数据中唯独没有4和7这两个数呢?
那么,这个神奇的SUBSTITUTE函数是如何做到排除4和7这两个数字的呢?其实只要掌握了该函数的基本参数的含义,就全明白了。
在“=SUBSTITUTE(SUBSTITUTE(A1+1,4,5),7,8)”这个由两个SUBSTITUTE函数嵌套的公式中,里边一层函数“SUBSTITUTE(A1+1,4,5)”跳过了出现数字4的单元格填充为5,而外面一层函数是在第一个函数过滤之后,再对7这个数字进行过滤并替换为8。因此,经过两重过滤之后,无论是单元格中出现4还是7,都会被函数中指定的后续数字5或8代替,于是4和7就不会再出现了。
如果再解释得明白一点,“SUBSTITUTE(A1+1,4,5)”函数的作用就是判断A1+1(也就是A2)单元格中自动填充的数据有没有4,若有就用5代替。这也就是该函数中先后出现的三个参数的含义了。
那么,将思路扩展一下,如果你不希望在号码串中出现另一个数据(比如2也不想出现),该怎么办呢?聪明的你肯定早就猜到了——在外面再包一层SUBSTITUTE函数,描述为“=SUBSTITUTE((SUBSTITUTE(A1+1,4,5),7,8)),2,3”就可以了。
学会了这个简单的例子,如果你开店当老板了,希望给你的会员发放会员卡,但知道大家都不喜欢带4和7的数字,那么如何自动生成不带4和7的“幸运会员卡”号呢?照猫画虎,只需在上述例子的基础上,修改起始会员卡号,例如设置一个2016123890的会员卡起始号,之后进行后续数据的填充,这样生成的会员卡就都是“幸运会员”卡了。
上述例子是利用了SUBSTITUTE函数对文本中字符的替换功能,作为替换功能的该函数,其实还具有一个更精细的第4选项,它可以指定替换第几次出现的字符,而不是一概替换。请看该函数的语法描述:
SUBSTITUTE(text,old_text,new_text,instance_num)
其中的参数意义如下:
Text:为需要替换其中字符的文本,或对含有文本的单元格的引用。
Old_text:为需要替换的旧文本。
New_text :用于替换 old_text 的文本。
Instance_num :为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将用 new_text 替换 Text 中出现的所有 old_text。
由此可以看出,我们在上面的两个例子中,其实只用到了该函数前三个参数,而第4个参数省略没有用。假设在上述的案例中,我们规定号码中第几次出现的4或7不能有,其余都可以有,那么,只需在函数的最后再加一个参数就可以了。注意用半角逗号隔开。
上述只是SUBSTITUTE函数应用的冰山一角,更多的使用方法还要靠你在实际应用中,灵活地与其他函数或公式组合应用了。