Excel巧妙打造“星号”的获奖效果
2007-06-02 22:00:40 来源:WEB开发网相信大家会经常从电视中看到某些抽奖活动的中奖公告,在显示手机号码时都将中间的四位作了技术处理,我们看到的只是“139****1181”这样的号码,这样做的目的当然是为了保护中奖人的隐私权,免得不怀好意之徒对这些手机号码进行恶意的骚扰。不过,你是否也希望获得这样的保密效果呢?
方法很简单,例如相关的手机号码已经输入完成并显示在B4~B21的单元格中,那么我们可以在C4单元格输入如下公式:
=CONCATENATE(LEFT(B4,3),"****",RIGHT(B4,4))
执行完成后,我们会看到“139****1181”这样的效果,接下来的工作就简单多了,向下拖曳填充柄至指定位置,很快就可以得到图1所示的结果。需要说明的是,图中的B列已经被设置为隐藏,这样做的原因相信朋友们能够理解。
图1(点击看大图)
下面,笔者就来介绍上述公式的含义,其中主要涉及了三个函数:
LEFT(B4,3):LEFT函数的功能是根据所指定的字符数,返回文本字符串中第一个字符或前几个字符,其语法为“LEFT(text,num_chars)”,“num_chars”是指定要由LEFT提取的字符数量,注意“num_chars”必须大于或等于零,如果省略的话则假设其值为1,如果“num_chars”大于文本长度,则LEFT返回全部文本,在这里当然是返回B4单元格中前三个字符。
RIGHT(B4,4):RIGHT函数的功能与LEFT函数类似,返回文本字符串中最后一个或多个字符,其语法为“RIGHT(text,num_chars)”,公式中的参数含义同LEFT函数,在这里当然是返回B4单元格中的后四个字符。
CONCATENATE:这个函数的功能是将两个或多个文本字符串合并为一个文本字符串,其语法为“CONCATENATE (text1,text2,...)”,从公式中可以看出,CONCATENATE主要是将LEFT(B4,3)、"****"、RIGHT(B4,4)这三个文本字符串合并在一起。
从上面的分析中可以看出,“LEFT(B4,3)”是返回手机号码的前三个字符,“RIGHT(B4,4)”是返回手机号码的后四个字符,而“"****"”则是代表四个星号,这样最后通过CONCATENATE函数合并后得到的仍然是11位的手机号码,但中间四个字符已经被“****”所取代,这样就得到了我们所希望的保密效果。
看了上面的例子,其实我们可以按照这个示例举一反三,例如只显示身份证号码、信用卡或其他号码的后四位数字,并用星号代替其余位,例如“=CONCATENATE(REPT("****-",3), RIGHT(B3,4))”可以重复“"****-"”文本字符串三次,并将结果与信用卡号码的后四位数合并,最后得到的就是类似于“****-****-****-5555”这样的结果了。
更多精彩
赞助商链接