1、IF函数条件判断
IF函数是最常用的判断类函数之一,能完成非此即彼的判断。
如下图,考核得分的标准为9分,要判断B列的考核成绩是否合格。
=IF(B4>=9,"合格","不合格")
IF,相当于普通话的“如果”,常规用法是:
IF(判断的条件,符合条件时的结果,不符合条件时的结果)
2、多条件判断
如下图所示,如果部门为生产、岗位为主操 有高温补助。在D列使用公式:=IF(AND(B2="生产",C2="主操"),"有","无")
AND函数对两个条件判断,如果同时符合,IF函数返回“有”,否则为无。
3、条件求和
如下图所示,使用SUMIF函数计算一班的总成绩:=SUMIF(D2:D5,F2,C2:C5)
SUMIF用法是:=SUMIF(条件区域,指定的求和条件,求和的区域)
用通俗的话描述就是:
如果D2:D5区域的班级等于F2单元格的“一班”,就对C2:C5单元格对应的区域求和。
4、多条件求和
如下图所示,要统计部门为生产,并且岗位为主操的补助总额。
公式为:=SUMIFS(D2:D9,B2:B9,F2,C2:C9,G2)
SUMIFS用法是:=SUMIFS(求和的区域,条件区域1,指定的求和条件1,条件区域2,指定的求和条件2,……)
5、条件计数
如下图,要统计指定店铺的业务笔数。也就是统计B列中有多少个指定的店铺名称。=COUNTIF(B2:B12,E3)
COUNTIF函数统计条件区域中,符合指定条件的单元格个数。
常规用法为:=COUNTIF(条件区域,指定条件)
6、多条件计数
要求:统计统计部门为生产,并且岗位为主操的人数
公式为:=COUNTIFS(B2:B9,F2,C2:C9,G2)
COUNTIFS函数统计条件区域中,符合多个指定条件的单元格个数。
常规用法为:=COUNTIFS(条件区域1,指定条件1,条件区域2,指定条件2……)
7、条件查找
VLOOKUP函数一直是大众情人般的存在,函数的语法为:
VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找)
如下图,要查询F5单元格中的员工姓名是什么职务。=VLOOKUP($F$5,$B$1:$D$10,2,0)
使用该函数时,需要注意以下几点:
1、第4参数一般用0(或FASLE)以精确匹配方式进行查找。
2、第3参数中的列号,不能理解为工作表中实际的列号,而是指定返回值在查找范围中的第几列。
3、如果查找值与数据区域关键字的数据类型不一致,会返回错误值#N/A。
4、查找值必须位于查询区域中的第一列。
8、多条件查找
如下图所示,要求查询部门为生产,并且岗位为部长的姓名。
公式为:=LOOKUP(1,0/((B2:B9=F2)(C2:C9=G2)),A2:A9)
LOOKUP函数多条件查询写法为:=LOOKUP(1,0/((条件区域1=条件1)(条件区域2=条件2)),查询区域)
9、计算文本算式
如下图,要计算单元格中的文本算式,先单击第一个要输入公式的单元格,定义名称 :
计算 = EVALUATE(C2)
然后在单元格中输入公式:=计算
10、合并多个单元格内容
要连接合并多个单元格中的内容,可以使用&符号完成。如下图,要合并A列的姓名和B列的电话号码,可以使用公式:=A2&B$1&B2
11、合并带格式的单元格内容
合并带有格式的内容时,Excel默认按常规格式进行合并,但是如果是日期、时间或是其他有格式的数值,结果就会让人大失所望了:
如何才能正确连接出需要的字符串呢?其实很简单,C2公式为:=A2&TEXT(B2," y年m月d日")
首先使用TEXT函数,把B列的日期变成具有特定样式的字符串,然后再与A列的姓名连接,就变成了最终需要的样式。
12、比较大小写的单词是否相同
如果在A1和A2单元格中分别输入大小写的单词,使用以下公式判断时,Excel会默认二者是相同的:=A2=B2
如需区别大小写,可以使用公式:=EXACT(A2,B2)
EXACT函数 区分大小写,但忽略格式上的差异。
13、提取混合内容中的姓名
如下图,要从A列姓名电话中提取出姓名,除了使用高版本的自动填充功能,还可以使用公式完成:=LEFT(A2,LENB(A2)-LEN(A2))
LENB函数将每个汉字(双字节字符)的字符数按2计数,LEN函数则对所有的字符都按1计数。
因此“LENB(A2)-LEN(A2)”返回的结果就是文本字符串中的汉字个数。
LEFT函数从文本字符串的第一个字符开始,返回指定个数的字符,最终提取出员工姓名。
14、根据身份证号码提取出生年月
计算公式为:
=1TEXT(MID(B2,7,8),"0-00-00")
首先使用MID函数从B2单元格的第7位开始,提取出表示出生年月的8个字符,结果为:
"19780215"
再使用TEXT函数将字符串转换为日期样式:
"1978-02-15"
然后通过1计算,将其转换为真正的日期。最后设置为日期格式即可。
15、替换部分电话号码
如下图所示,要将手机号码的中间四位换成星号。
公式为:=SUBSTITUTE(B2,MID(B2,4,4),"",1)
SUBSTITUTE函数的用法是:
SUBSTITUTE(要替换的文本,旧文本,新文本,[替换第几个])
先使用MID函数取得B列号码中的中间4位,再用“*****”替换掉这部分内容。
最后一个参数使用1,表示只替换第一次出现的内容。比如第九行的电话号码是13801010101,最后四位和中间四位相同,如果不指定1,就会全部替换掉了。
16、屏蔽函数公式返回的错误值
在使用函数公式过程中,经常会返回一些诸如#N/A、#NAME?之类的错误值,要屏蔽这些错误值其实很简单,只需在原公式外侧加上一个IFERROR函数就好。
IFERROR函数的用法为:
=IFERROR(原公式,出现错误时要返回的内容)
如果公式正确,就返回原有计算结果,如果公式返回的是错误值,就返回用户指定的显示内容。
17、四舍五入函数
ROUND函数这个想必大家经常用到吧,就是对数值按指定的位数四舍五入。比如:
=ROUND(8/9,3)
就是将8/9的计算结果四舍五入到三位小数,结果为0.889。
18、取整的间隔小时数
计算两个时间的间隔小时数,不足一小时部分舍去,计算加班时经常会用到,说多了都是泪……
=TEXT(B2-B1,"[h]")
19、提取日期时间中的日期值
要从日期时间数据中提取出日期,可以使用以下公式:
=INT(A2)
要继续提取时间,只需要做个减法,就欧了:
20、生成随机数
RANDBETWEEN能够在指定范围内生成一组随机数据,对于广大质检、监理、统计人员来说,这的确是一个伟大的函数。
函数的用法是:
=RANDBETWEEN(数字下限,数字上限)
比如以下公式,就是生成60到100之间的随机数:
=RANDBETWEEN(60,100)
27个Excel函数公式
一、数字处理
1、取绝对值
=ABS(数字) 如: ABS(-2) =2
2、向下取整
=INT(数字) 如: INT(5.6)=5 ; INT(5.2)=5
3、四舍五入
=ROUND(数字,小数位数) 如: ROUND(5.6,0)=6 ; ROUND(5.2,0)=5
二、判断公式
1、把公式产生的错误值显示为空
公式:C2
=IFERROR(A2/B2,"") 如: IFERROR(2/0,"错误") = "错误"
说明:如果是错误值则显示为空,否则正常显示。
2、IF多条件判断返回值
公式:C2
=IF(AND(A2<500,B2="未到期"),"补款","")
说明:两个条件同时成立用AND,任一个成立用OR函数。
三、统计公式
1、统计两个表格重复的内容
公式:B2
=COUNTIF(Sheet15!A:A,A2)
说明:如果返回值大于0说明在另一个表中存在,0则不存在。
2、统计不重复的总人数
公式:C2
=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8))
说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。
四、求和公式
1、隔列求和
公式:H3
=SUMIF($A$2:$G$2,H$2,A3:G3) 或
=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3)
说明:如果标题行没有规则用第2个公式
2、单条件求和
公式:F2
=SUMIF(A:A,E2,C:C)
说明:SUMIF函数的基本用法
3、单条件模糊求和
公式:详见下图
说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"A"就表示a前和后有任意多个字符,即包含A。
4、多条件模糊求和
公式:C11
=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11)
说明:在sumifs中可以使用通配符*
5、多表相同位置求和
公式:b2
=SUM(Sheet1:Sheet19!B2)
说明:在表中间删除或添加表后,公式结果会自动更新。
6、按日期和产品求和
公式:F2
=SUMPRODUCT((MONTH($A$2:$A$25)=F$1)($B$2:$B$25=$E2)$C$2:$C$25)
说明:SUMPRODUCT可以完成多条件求和
五、查找与引用公式
1、单条件查找公式
公式1:C11
=VLOOKUP(B11,B3:F7,4,FALSE)
说明:查找是VLOOKUP最擅长的,基本用法
2、双向查找公式
公式:
=INDEX(C3:H7,MATCH(B10,B3:B7,0),MATCH(C10,C2:H2,0))
说明:利用MATCH函数查找位置,用INDEX函数取值
3、查找最后一条符合条件的记录。
公式:详见下图
说明:0/(条件)可以把不符合条件的变成错误值,而lookup可以忽略错误值
4、多条件查找
公式:详见下图
说明:公式原理同上一个公式
5、指定区域最后一个非空值查找
公式;详见下图
说明:略
6、按数字区域间取对应的值
公式:详见下图
公式说明:VLOOKUP和LOOKUP函数都可以按区间取值,一定要注意,销售量列的数字一定要升序排列。
六、字符串处理公式
1、多单元格字符串合并
公式:c2
=PHONETIC(A2:A7)
说明:Phonetic函数只能对字符型内容合并,数字不可以。
2、截取除后3位之外的部分
公式:
=LEFT(D1,LEN(D1)-3)
说明:LEN计算出总长度,LEFT从左边截总长度-3个
3、截取-前的部分
公式:B2
=Left(A1,FIND("-",A1)-1)
说明:用FIND函数查找位置,用LEFT截取。
4、截取字符串中任一段的公式
公式:B1
=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",20)),20,20))
说明:公式是利用强插N个空字符的方式进行截取
5、字符串查找
公式:B2
=IF(COUNT(FIND("河南",A2))=0,"否","是")
说明: FIND查找成功,返回字符的位置,否则返回错误值,而COUNT可以统计出数字的 个数,这里可以用来判断查找是否成功。
6、字符串查找一对多
公式:B2
=IF(COUNT(FIND({"辽宁","黑龙江","吉林"},A2))=0,"其他","东北")
说明:设置FIND第一个参数为常量数组,用COUNT函数统计FIND查找结果
七、日期计算公式
1、两日期相隔的年、月、天数计算
A1是开始日期(2011-12-1),B1是结束日期(2013-6-10)。计算:
相隔多少天?=datedif(A1,B1,"d") 结果:557
相隔多少月? =datedif(A1,B1,"m") 结果:18
相隔多少年? =datedif(A1,B1,"Y") 结果:1
不考虑年相隔多少月?=datedif(A1,B1,"Ym") 结果:6
不考虑年相隔多少天?=datedif(A1,B1,"YD") 结果:192
不考虑年月相隔多少天?=datedif(A1,B1,"MD") 结果:9
datedif函数第3个参数说明:
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" 天数的差。忽略日期中的月和年。
"YM" 月数的差。忽略日期中的日和年。
"YD" 天数的差。忽略日期中的年。
2、扣除周末天数的工作日天数
公式:C2
=NETWORKDAYS.INTL(IF(B2<DATE(2015,1,1),DATE(2015,1,1),B2),DATE(2015,1,31),11)
说明:返回两个日期之间的所有工作日数,使用参数指示哪些天是周末,以及有多少天是周末。周末和任何指定为假期的日期不被视为工作日