各位同学好,今天和大家来分享几个常用函数公式的典型用法。
1、提取指定条件的不重复名单
如下图所示,某公司课程比赛,同一员工有多个比赛项目。希望从左侧的列表中,提取出财务部的参赛人员名单。F2单元格输入以下公式,按回车确认。=UNIQUE(FILTER(A2:A11,C2:C11=E2))
本例中先使用FILTER函数提取出符合E2财务部门条件的所有记录(C2:C11=E2),再使用UNIQUE函数提取出不重复记录。
2、在多行多列中提取员工名单
如下图所示,希望在多行多列的值班表中,提取出不重复的人员名单。G2单元格输入以下公式,按回车即可:
=UNIQUE(TOCOL(B2:E8,1))
Excel老陈说:TOCOL函数作用:将区域的数据转换成一列,TOCOL 函数有 3 个参数,参数形式为:=TOCOL (数据区域,[忽略空白和错误],[指定行 / 列扫描])。示例中TOCOL第二个参数取1表示忽略空白单元格。
3、按指定次数重复内容
如下图,希望根据B列的重复节数要求,将A列课程名称按节数重复显示,在D2单元格输入=TOCOL(IF(B2:B4>=COLUMN(A:Z),A2:A4,0/0),2),按回车即可。
示例中TOCOL函数取2表格忽略错误值。
4、根据出生年月计算
根据出生年月计算年龄如下图所示,需要根据B列出生年月计算年龄,C2单元格公式为:=DATEDIF(B2,TODAY(),"y")
说明:TODAY函数返回系统当前的日期。DATEDIF函数以B2的出生年月作为开始日期,以系统日期作为结束
5、INDEX+MATCH实现近似查询
如下图所示,需要根据右侧的对照表,返回B列分数对应的等级。
C2公式为:=INDEX(F$3:F$6,MATCH(B2,E$3:E$6))
MATCH函数负责找出位置,INDEX函数负责根据这个位置找到对应的值。本例中MATCH函数省略第三参数,表示在E3:E6这个区域中查找小于或等于B2单元格(75)的最大值。在E3:E6这个区域中,没有75这个值,她就找到所有几个弟弟当中最大的一个弟弟,也就是60。然后返回60在E3:E6这个区域中的位置2,INDEX函数再根据这个位置返回F3:F6单元格中对应的值。
6、逆向查询
下面这个表中,A:C列是课程,姓名和部门,在F2单元格输入以下公式:
=LOOKUP(1,0/(B2:B11=E2),A2:A11)
公式解释:第一个参数输入一个比0大的任意数字,例如1、或者2等都可以,然后是0/(查找的区域=查找值),如果匹配到返回0,没有匹配到则是#div/0的错误,而Excel是忽略错误的,最后一个参数选择要返回的结果单元格区域。
来源:http://www.bjjiefei.com 北京杰飞线下Excel培训