首页 > 技术文章 > Excel常用函数公式

DuJiu 2020-09-26 11:44 原文

1、IF函数条件判断

IF函数是最常用的判断类函数之一,能完成非此即彼的判断。
如下图,考核得分的标准为9分,要判断B列的考核成绩是否合格。
=IF(B4>=9,"合格","不合格")

img

IF,相当于普通话的“如果”,常规用法是:
IF(判断的条件,符合条件时的结果,不符合条件时的结果)


2、多条件判断

如下图所示,如果部门为生产、岗位为主操 有高温补助。在D列使用公式:=IF(AND(B2="生产",C2="主操"),"有","无")

img

AND函数对两个条件判断,如果同时符合,IF函数返回“有”,否则为无。


3、条件求和

如下图所示,使用SUMIF函数计算一班的总成绩:=SUMIF(D2:D5,F2,C2:C5)

img

SUMIF用法是:=SUMIF(条件区域,指定的求和条件,求和的区域)
用通俗的话描述就是:
如果D2:D5区域的班级等于F2单元格的“一班”,就对C2:C5单元格对应的区域求和。


4、多条件求和

如下图所示,要统计部门为生产,并且岗位为主操的补助总额。
公式为:=SUMIFS(D2:D9,B2:B9,F2,C2:C9,G2)

img

SUMIFS用法是:=SUMIFS(求和的区域,条件区域1,指定的求和条件1,条件区域2,指定的求和条件2,……)


5、条件计数

如下图,要统计指定店铺的业务笔数。也就是统计B列中有多少个指定的店铺名称。=COUNTIF(B2:B12,E3)

img

COUNTIF函数统计条件区域中,符合指定条件的单元格个数。

常规用法为:=COUNTIF(条件区域,指定条件)


6、多条件计数

要求:统计统计部门为生产,并且岗位为主操的人数
公式为:=COUNTIFS(B2:B9,F2,C2:C9,G2)

img

COUNTIFS函数统计条件区域中,符合多个指定条件的单元格个数。

常规用法为:=COUNTIFS(条件区域1,指定条件1,条件区域2,指定条件2……)


7、条件查找

VLOOKUP函数一直是大众情人般的存在,函数的语法为:
VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找)
如下图,要查询F5单元格中的员工姓名是什么职务。=VLOOKUP($F$5,$B$1:$D$10,2,0)

img

使用该函数时,需要注意以下几点:
1、第4参数一般用0(或FASLE)以精确匹配方式进行查找。
2、第3参数中的列号,不能理解为工作表中实际的列号,而是指定返回值在查找范围中的第几列。
3、如果查找值与数据区域关键字的数据类型不一致,会返回错误值#N/A。
4、查找值必须位于查询区域中的第一列。


8、多条件查找

如下图所示,要求查询部门为生产,并且岗位为部长的姓名。
公式为:=LOOKUP(1,0/((B2:B9=F2)(C2:C9=G2)),A2:A9)
img
LOOKUP函数多条件查询写法为:=LOOKUP(1,0/((条件区域1=条件1)
(条件区域2=条件2)),查询区域)


9、计算文本算式

如下图,要计算单元格中的文本算式,先单击第一个要输入公式的单元格,定义名称 :
计算 = EVALUATE(C2)
然后在单元格中输入公式:=计算
img


10、合并多个单元格内容

要连接合并多个单元格中的内容,可以使用&符号完成。如下图,要合并A列的姓名和B列的电话号码,可以使用公式:=A2&B$1&B2
img


11、合并带格式的单元格内容

合并带有格式的内容时,Excel默认按常规格式进行合并,但是如果是日期、时间或是其他有格式的数值,结果就会让人大失所望了:
img
如何才能正确连接出需要的字符串呢?其实很简单,C2公式为:=A2&TEXT(B2," y年m月d日")
img
首先使用TEXT函数,把B列的日期变成具有特定样式的字符串,然后再与A列的姓名连接,就变成了最终需要的样式。


12、比较大小写的单词是否相同

如果在A1和A2单元格中分别输入大小写的单词,使用以下公式判断时,Excel会默认二者是相同的:=A2=B2
img
如需区别大小写,可以使用公式:=EXACT(A2,B2)
EXACT函数 区分大小写,但忽略格式上的差异。


13、提取混合内容中的姓名

如下图,要从A列姓名电话中提取出姓名,除了使用高版本的自动填充功能,还可以使用公式完成:=LEFT(A2,LENB(A2)-LEN(A2))
img
LENB函数将每个汉字(双字节字符)的字符数按2计数,LEN函数则对所有的字符都按1计数。

因此“LENB(A2)-LEN(A2)”返回的结果就是文本字符串中的汉字个数。

LEFT函数从文本字符串的第一个字符开始,返回指定个数的字符,最终提取出员工姓名。


14、根据身份证号码提取出生年月

计算公式为:
=1TEXT(MID(B2,7,8),"0-00-00")
img
首先使用MID函数从B2单元格的第7位开始,提取出表示出生年月的8个字符,结果为:
"19780215"
再使用TEXT函数将字符串转换为日期样式:
"1978-02-15"
然后通过
1计算,将其转换为真正的日期。最后设置为日期格式即可。


15、替换部分电话号码

如下图所示,要将手机号码的中间四位换成星号。

公式为:=SUBSTITUTE(B2,MID(B2,4,4),"",1)
img
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]")
img


19、提取日期时间中的日期值

要从日期时间数据中提取出日期,可以使用以下公式:
=INT(A2)
要继续提取时间,只需要做个减法,就欧了:
img


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则不存在。

img

2、统计不重复的总人数

公式:C2

=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8))

说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

img

四、求和公式

1、隔列求和

公式:H3

=SUMIF($A$2:$G$2,H$2,A3:G3)

=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3)

说明:如果标题行没有规则用第2个公式

img

2、单条件求和

公式:F2

=SUMIF(A:A,E2,C:C)

说明:SUMIF函数的基本用法

img

3、单条件模糊求和

公式:详见下图

说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"A"就表示a前和后有任意多个字符,即包含A。

img

4、多条件模糊求和

公式:C11

=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11)

说明:在sumifs中可以使用通配符*

img

5、多表相同位置求和

公式:b2

=SUM(Sheet1:Sheet19!B2)

说明:在表中间删除或添加表后,公式结果会自动更新。

img

6、按日期和产品求和

公式:F2

=SUMPRODUCT((MONTH($A$2:$A$25)=F$1)($B$2:$B$25=$E2)$C$2:$C$25)

说明:SUMPRODUCT可以完成多条件求和

img

五、查找与引用公式

1、单条件查找公式

公式1:C11

=VLOOKUP(B11,B3:F7,4,FALSE)

说明:查找是VLOOKUP最擅长的,基本用法

img

2、双向查找公式

公式:

=INDEX(C3:H7,MATCH(B10,B3:B7,0),MATCH(C10,C2:H2,0))

说明:利用MATCH函数查找位置,用INDEX函数取值

img

3、查找最后一条符合条件的记录。

公式:详见下图

说明:0/(条件)可以把不符合条件的变成错误值,而lookup可以忽略错误值

img

4、多条件查找

公式:详见下图

说明:公式原理同上一个公式

img

5、指定区域最后一个非空值查找

公式;详见下图

说明:略

img

6、按数字区域间取对应的值

公式:详见下图

公式说明:VLOOKUP和LOOKUP函数都可以按区间取值,一定要注意,销售量列的数字一定要升序排列。

img

六、字符串处理公式

1、多单元格字符串合并

公式:c2

=PHONETIC(A2:A7)

说明:Phonetic函数只能对字符型内容合并,数字不可以。

img

2、截取除后3位之外的部分

公式:

=LEFT(D1,LEN(D1)-3)

说明:LEN计算出总长度,LEFT从左边截总长度-3个

img

3、截取-前的部分

公式:B2

=Left(A1,FIND("-",A1)-1)

说明:用FIND函数查找位置,用LEFT截取。

img

4、截取字符串中任一段的公式

公式:B1

=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",20)),20,20))

说明:公式是利用强插N个空字符的方式进行截取

img

5、字符串查找

公式:B2

=IF(COUNT(FIND("河南",A2))=0,"否","是")

说明: FIND查找成功,返回字符的位置,否则返回错误值,而COUNT可以统计出数字的 个数,这里可以用来判断查找是否成功。

img

6、字符串查找一对多

公式:B2

=IF(COUNT(FIND({"辽宁","黑龙江","吉林"},A2))=0,"其他","东北")

说明:设置FIND第一个参数为常量数组,用COUNT函数统计FIND查找结果

img

七、日期计算公式

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)

说明:返回两个日期之间的所有工作日数,使用参数指示哪些天是周末,以及有多少天是周末。周末和任何指定为假期的日期不被视为工作日

img

推荐阅读