二 让你从菜鸟成为Excel高手知道的都在这里了( 三 )




上图中 , 两种颜色的数据长度是不一致的 , 但利用公式 , 我们很简单的把生日数据截出来了 。 公式“=IF(LEN(A2)=15,"19"&MID(A2,7,6),MID(A2,7,8))”中 , 我们利用IF函数 , 用Len函数对A2的长度进行判断 , 如果等于15 , 则返回“"19"&MID(A2,7,6)” , 表示如果为15位的身份证号码 , 就在其之前补上“19”(注:“&”符号在Excel中 , 用来把两个数据合并在一起) , 然后对A2单元格中的数据从第7位开始 , 截6位出来 , 合在一起刚好8位 。 如果不是15位 , 则返回“MID(A2,7,8))” , 表示直接在A2单元格的数据中 , 从第7位开始 , 截取8位出来 。 做完第一个公式后 , 不管下面还有几千或几万个数据 , 一拖到底即可 。

对于要求比较简单的用户 , 得到这个结果己经够用了 。 但实际上 , 这个取出来的数据 , 并不是日期格式的 。 因此 , 就无法像对待日期那样处理它 , 如更改日期格式 , 或设置条件格式化 , 让当天为生日的数据显示为红色等 。

要让其变为日期 , 其实也是很简单 。 只是其中一招我们还未介绍-Datevalue , 同时 , 取出的数据 , 也需额外加上分隔符 , 让系统识别 。 我先把公式列在这里 , 有兴趣的用户可以试试 。

=DATEVALUE(IF(LEN(A2)=15,"19"&MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2)))

记住:公式得出的结果 , 是一个时间序列号 , 日期格式你们可自行设置 。 下图中 , C3及C5单元格的“30720 , 30034”就是因没设置日期格式而直接显示序列值 。


二 让你从菜鸟成为Excel高手知道的都在这里了

文章插图


下面我们再来看一个使用了“瞎子摸象”函数的例子 。

假如有这样一串数据 , 格式类似Bill Gates (****) Bill.Gates@hotmail.com或Charles Peng (****) Charles.Peng@sqtong.com , 我们需要取出其中的邮件地址部分 。 因为其邮件地址时长时短 , 因此 , 无法直接截取 , 单用Len函数也无法实现 。 但根据观查发现 , 邮件地址起始于“)”后 , 因此我们可以利用“瞎子摸象”Find函数 , 先定出每个数据中的“)”位置 , 再用Len量出整个数据长度 , 相减之后 , 就是邮件地址的长度 , 这样 , 用“去头留尾”函数就可将需要的数据取出 。 公式为:=RIGHT(A2,LEN(A2)-FIND(")",A2)) 。


二 让你从菜鸟成为Excel高手知道的都在这里了

文章插图

上图中 , 对含有不同地方的数据 , 利用“Left”函数 , 非常简单分离出了他们的省份 。

详细解释

公式“=Left(A2,3)”中A2表示要截取的数据为A2单元格的内容“广东省东莞市东城区…” , “3”表示从第一位开始 , 共截取3个字符 , 因此系统返回“广东省” 。

推荐阅读