在Excel公式中,有些函数是独行侠,而有些函数经常是成对出现的,今天兰色就带大家一起盘点Excel表格中八大经典函数组合。
1、IF + And
作用:并列多条件判断
【例】如下图所示,在C列设置公式,如果A列值小于500且B列值为未到期,则返回”补款“,否则显示为空。
公式:C2
=IF(AND(A2<500,B2="未到期"),"补款","")
说明:两个条件同时成立用AND,任一个成立用OR函数。
2、Index + Match
作用:根据条件查询
【例2】如下图所示,要求根据月份和费用项目,查找金额
E10公式:
=INDEX(B2:G6,MATCH(B10,$A$2:$A$6,0),MATCH(A10,$B$1:$G$1,0))
公式说明:
先用MATCH函数查找3月在第一行中的位置
=MATCH(B10,$A$2:$A$6,0)
再用MATCH函数查找费用项目在A列的位置
=MATCH(A10,$B$1:$G$1,0)
最后用INDEX根据行数和列数提取数值
=INDEX(区域,行数,列数)
3、Iferror + Vlookup
作用:当Vlookup查找不到时屏蔽查错误值
【例】如下图所示,要求根据产品名称在上表中查找单价,如果产品不存在则显示为空白
B9公式:
=IFERROR(VLOOKUP(A8,$A$1:$D$5,3,0),"")
4、Mid + Find
作用:根据条件截取字符串
【例】在个人信里截取出年龄
B2公式
=MID(A2,FIND(" ",A2)+1,9)
注:find查找分隔符的位置,MID负责截取字符
5、Left + lenB + Len
作用:分离汉字、数字和字母
示例:
=LEFT(A2,LENB(A2)-LEN(A2))
注:带B的函数是按字节计数,而一个汉字占2个字节,数字和字母则占1个。所以用LENB(A2)-LEN(A2)可以倒推出汉字的个数,然后用left或mid函数截取。
6、index + Small + Row
作用:一对多查找
【例】如下图所示,要求在F列查找“张明城”的个人消费记录
F2公式
{=INDEX(C:C,SMALL(IF(B$2:B$10=F$1,ROW($2:$10)),ROW(A1)))}
公式解析:
-
IF(B$2:B$10=F$1,ROW($2:$10)):如果B列的姓名和F1的姓名相同,就返回它的行号。不相同的返回FALSE
-
Row(a1):是返回A1的行号1,如果向下复制会变为 Row(a2),返回2,其实用它的目的是当公式向下复制时可以生成序号:1,2,3...然后取符合条件的第1个行号,第2个行号...
-
SMALL(): 从符合条件的行号中从小到大,逐个提取符合条件的行
-
INDEX() :根据取得的行号从C列提取值
-
{ }:数组公式(含有逐一运算的公式)需要按ctrl+shift+enter 输入大括号(一定要是自动生成的,不能手输入大括号)。
7、Sum + Offset + Count
作用:最后N天求和
【例】在D2单元格返回B列最近7天的销量
D2公式:
=SUM(OFFSET(B1,COUNTA(B:B)-7,0,7,1))
注:Counta负责统计B列非空值个数,offset负责生成动态最后N天区域,SUM负责求和
8、Sumproduct + Countif
作用:计算不重复值个数
【例】:统计B列的客户数量
=SUMPRODUCT(1/COUNTIF(B2:B19,B2:B19))
注:Countif函数统计出每个客户的出现次数,Sumprodcut对1/出现次数进行求和。每个客户无论出现多少次,求和的结果都是1,求和后正好是不重复个数。
兰色说:Excel公式中的函数嵌套对新手是一个难点,所以掌握这些固定套路尤为重要。觉得有用记得点右下角给本文一个“好看”
如果你是新同学,长按下面二维码 - 识别图中二维码 - 关注,就可以每天和兰色一起学Excel了。
文章评论