继续咱们昨天的精彩:《Excel中一些好玩的小公式(1)》。今天咱们第二篇,主要是三个函数,和一个公式。大致内容如下:
- if函数是什么?有什么用?
- mod函数是啥?能用来干啥?
- mid除了摘取数字,还能和别的函数擦出什么样的火花?
- 有没有办法通过身份证号计算孩子在指定日期的年龄?比如计算孩子在2020年12月31日,多大?
标题写的是“公式”,为啥我这里都是函数?
很简单,先有了适合的函数,才可以组合成后面有趣的公式。
当然,今天所讲的,都将是与身份证相关的。毕竟现在的日常工作,这玩意经常和我们有关系。
1、if函数
IF函数一般是用来判断“真”(TRUE)、“假”(FALSE)。
在Excel中,用法如下:
=if("判断条件","满足条件的结果","不满足条件的结果")
举个栗子,在Excel中,A3的值是100。我们需要在B3输出判断结果,如果数字大于100,则输出“好学生”,如果小于100,则输出“也不错”。
那么怎么写?在B3直接输入以下内容:
=if(A3>100,"好学生","也不错")
if函数只能在这里玩吗?当然不。还记得我们昨天的《Excel中一些好玩的小公式(1)》里提到的“通过身份证号判断性别”这个公式吗?
=if(mod(mid("身份证号所在的单元格",17,1),2),"男","女")
在这里,mod(mid("身份证号所在的单元格",17,1),2)
就是判断条件。那么问题来了,mod函数是什么呢?
2、mod函数
在Excel之中,mod函数是一个求余函数。
先说用法,再说怎么用。
=mod("被除数","除数")
而返回的结果,就是余数。
举个例子,我们用4除以2,余数是0,用3除以2,余数是1。
那么假如是1除以2呢?
在Excel的mod函数里,被除数小于等于除数的整数取值规律:
mod(1,3)=1
mod(2,3)=2
那么,在办公之中,能应用到哪里呢?
还记得前面吗?我们是在哪个里用到的?
通过身份证号提取性别。
那么,18位的身份证号是怎么看性别呢?第17位,奇数是男,偶数是女。
怎么提取呢?那就到了mid函数。
3、mid函数
在Excel中,mid函数在Excel中用于从一个字符串(也就是一直单元格的内容中)提取指定数量的字符。
比如,我们可以在一个单元格指定从第16个字开始,提取上32个字出来。怎么用?
=mid("被你提取的内容","从第几个字开始","提取多少个")
那么按上面的要求,我们怎么用呢?假设我们从单元格A3的内容中第16个字,提取32个字出来,怎么用?
=mid(A3,16,32)
假如,从第0.1个字开始提取呢?
mid会直接告诉你:亲,臣妾做不到,这是臣妾返回的错误值。
那如果在一个只有5个字的单元格之中,从第15个开始提取,会怎么样呢?
mid会哭丧着脸说:“没得。”,然后给你返回空白值。
回到前面的话题,从身份证号提取性别,怎么来?
假如A3是身份证号,那么,我们直接这样:
=mid(A3,17,1)
从第17位提取1位就OK了。
4、函数的组合
来,把我们今天讲的三个函数组合一下。
if函数是判断一个值符不符合要求;
mod函数是直接求余。
mid函数是直接提取内容。
那么,在我们看到身份证号(假设在A3)后,想知道性别,很简单:
=if(mod(mid(A3,17,1),2),"男","女")
什么意思呢?提取A3(身份证号)的第17位,如果有余数(奇数怎么能除以2得到干干净净的0呢?),那么就是男的;如果没有余数(偶数除以2都没得余数),那么就是女的。
很简单是不是?来,自己拿一个表格练练手玩玩?
昨天说了,还要分享一个公式,就是通过身份证号,获取在指定日期的年龄。(周岁)
比如,计算孩子到今天,年龄多大,或者到2035年12月23日,年龄多大。
假设A3是身份证号,那么公式如下:
# 这个是注释,不是公式。 # 计算孩子到今天的年龄 =datedif(text(mid(A3,7,8),"0000-00-00"),today(),"Y") # 计算孩子在2035年12月23日的年龄 =datedif(text(mid(A3,7,8),"0000-00-00"),"2035-12-23","Y")
公式之中,又出现了新的函数datedif函数和text函数,我们明天继续。
虽然今天的文章只有这么几点,但是明天,还会有更多好玩的。
- datedif函数好吃吗?能干啥?
- text函数究竟是干什么的?
- 如何通过Excel检验身份证号的真假。
为什么讲这个?
还不是要录新生学籍,又怕班主任弄错学生和家长的身份证号,导致上传系统失败又返工。
所以,我打算给大家分享下这个好公式。