1、查找重复内容
如下图所示,要判断A列姓名是否重复出现过,B2输入公式:
=IF(COUNTIF(A:A,A2)>1,"重复","")
COIUNTIF函数用于统计一个区域中符合条件的单元格个数。
先使用COIUNTIF函数计算出A列区域中有多少个与A2相同的姓名。然后使用IF函数判断,如果COIUNTIF函数的结果大于1,就说明有重复了。
2、重复内容首次出现时不提示
如下图所示,要判断A列姓名是不是重复出现,B2输入以下公式:
=IF(COUNTIF(A$2:A2,A2)>1,"重复","")
COUNTIF函数使用一个动态扩展的引用范围A$2:A2,随着公式向下复制,这个区域会不断扩展,依次变成A$2:A3、A$2:A4、A$2:A5…… ,也就是统计自A2单元格开始,到公式所在行这个范围内,有多少个与A列姓名相同的单元格。
如果是某个姓名首次出现,则COUNTIF(A$2:A2,A2)的计算结果等于1,如果是重复出现,则结果必定大于1,
最后再用IF函数判断,COUNTIF函数的结果是否大于1,如果大于1,就返回指定的内容“重复”。
3、根据出生年月计算年龄
如下图所示,需要根据B列出生年月计算年龄,C2单元格输入以下公式:
=DATEDIF(B2,TODAY(),"y")
TODAY函数返回系统当前的日期。
DATEDIF函数以B2的出生年月作为开始日期,以系统日期作为结束日期,第三参数使用“Y”,表示计算两个日期之间的整年数。
4、根据身份证号提取出生年月
如下图所示,要根据B列的身份证号码,来提取出生年龄,C2单元格公式为:
=--TEXT(MID(B2,7,8),"0-00-00")
先使用MID函数从B2单元格中的第7位开始,提取表示出生年月的8个字符19850216。然后使用TEXT函数将其变成具有日期样式的文本“1985-02-16”,最后加上两个负号,也就是计算负数的负数,通过这样一个数学计算,把文本型的日期变成了真正的日期序列值。
如果单元格中显示的是五位数值,只要设置成日期格式就好。
5、根据身份证号码提取性别
如下图所示,要根据B列的身份证号码,判断性别。D2单元格公式为:
=IF(MOD(MID(B2,17,1),2),"男","女")
先使用MID函数,从B2单元格的第17位开始提取1个字符,这个字符就是性别码。
然后使用MOD函数,计算这个性别码与2相除的余数。
如果IF函数的第一个参数等于0,IF函数将其按FALSE处理,返回第三参数指定的内容“女”。如果不等于0,则按TRUE处理,返回第二参数指定的内容“男”。
6、填充合并单元格
如下图所示,B列姓名使用了合并单元格,使用以下公式可以得到完整的填充:
=LOOKUP("做",B$2:B2)
7、忽略错误值求和
如下图所示,C列数据区域中包含有错误值,如何进行求和呢?
E2单元格公式为:
=SUMIF(C:C,"<9e307")
SUMIF函数的求和参数省略,表示以条件区域C:C作为求和区域。
求和条件是<9e307,相当于对所有数值求和。
8、动态扩展的下拉菜单
如下图所示,要根据A列的对照表,在D列生成下拉菜单,要求能随着A列数据的增减,下拉菜单中的内容也会自动调整。
选中要输入内容的D2:D10单元格区域,数据→数据验证→序列,输入以下公式。
=OFFSET($A$2,0,0,COUNTA($A:$A)-1)
公式表示以A2作为基点,向下偏移0行,向右偏移0列,新引用的行数为COUNTA函数统计到的A列非空单元格个数,结果-1,是因为A1是表头,计数要去掉。
这样就是A列有多少个非空单元格,下拉菜单中就显示多少行。