从身份证号码中提取性别 =IF(MOD(MID(A2,15,3),2),'男','女') 根据出生年月计算年龄 =DATEDIF(A2,TODAY(),'y')&'周岁' 某个日期是星期几 =TEXT(A2,'aaaa') 某个日期所在月有几天 =DAY(EOMONTH(A2,0)) 下一个工作日是哪天 =WORKDAY(A2,1,A5:A7) 区分指定日期是上中下旬 =LOOKUP(DAY(A2),{0,11,21},{'上旬','中旬','下旬'}) 根据身份证号计算出生年月 =--TEXT(MID(A2,7,8),'0-00-00') 查找最后一条符合条件的记录 公式的模式化写法为: =LOOKUP(1,0/(条件区域=条件),查询区域) 查询符合多个条件的记录 公式的模式化写法为: =LOOKUP(1,0/((条件区域1=条件1)*(条件区域2=条件2)),查询区域) 逆向查询 LOOKUP函数最后的查询区域可以灵活写成任意一列,从右至左、自下而上查询,统统没问题。 如下图所示,要查询原料类别为'A3'的采购员姓名。 C13单元格公式为: =LOOKUP(1,0/(B4:B11='A3'),A4:A11) 查询最后一笔业务日期 如下图所示,要查询不同业务员最后一笔业务的日期。 公式的模式化写法为: =LOOKUP(1,0/(条件区域<>''),查询区域) 模糊查询考核等级 如下图所示,要根据E:F列的等级对照表,判断B列的考核成绩。 C2单元格公式为: =LOOKUP(B4,E$5:F$8) 这种方法可以取代IF函数完成多个区间的判断查询,前提是对照表的首列,必须是升序处理。 提取单元格内的数字 如下图所示,要从A列的混合内容中提取出数值。 A2公式为 =-LOOKUP(1,-LEFT(A2,ROW($1:$99))) 首先用LEFT函数从A2单元格左起第一个字符开始,依次返回长度为ROW($1:$99)也就是1至99的字符串,添加负号后,数值转换为负数,含有文本字符的字符串则变成错误值。 LOOKUP函数使用1作为查询值,在由负数、0和错误值构成的数组中,忽略错误值提取最后一个等于或小于1的数值。 最后再使用负号,将提取出的负数转为正数。 |
|