大家好!本文介绍Excel中使用频率较高的20个函数的基础用法。本次教程适用于Excel函数的初学者。
1、sum函数
sum函数用于求和。
例如计算每个人1月~3月的销售额合计,在E2单元格输入公式:
=SUM(B2:D2)

如果求和区域不连续,比如计算“郭靖”和“黄蓉”的合计销售额,求和区域C5:E5、C7:E7是分开的,在sum函数中用英文逗号分隔这两个求和区域。
在D2单元格输入公式:=SUM(C5:E5,C7:E7)

2、counta函数
counta函数用于计算非空单元格的个数。
例如计算每个人的出勤天数,在G2单元格输入公式:
=COUNTA(B2:F2)

3、max函数
max函数返回一组数值中的最大值。
例如计算一组成绩的最高分。在D2单元格输入公式:
=MAX(B2:B7)

4、min函数
min函数返回一组数值中的最小值。
例如计算一组成绩的最低分。在D2单元格输入公式:
=MIN(B2:B7)

5、if函数
if函数用于回答“如果……,那么……,否则……”这样的问题。
例如,如果成绩大于或等于60,那么及格,否则不及格。在C2单元格输入公式:
=IF(B2>=60,"及格","不及格")

6、sumifs函数
sumifs函数用于对满足条件的值求和。
例如计算“手机”的销售额合计。对销售额即D2:D7求和,但不是所有的值都加起来。需要满足条件:商品C2:C7是“手机”。
在G2单元格输入公式:
=SUMIFS(D2:D7,C2:C7,F2)

如果条件不止一个,比如计算“郭靖”销售的“手机”的总销售额。求和条件有两个:业务员“郭靖”;商品“手机”。在sumifs函数中增加条件区域和条件即可。
在H2单元格输入公式:
=SUMIFS(D2:D7,C2:C7,F2,B2:B7,G2)

7、countifs函数
sumifs函数用于对满足条件的值计数。
例如计算“1班”的总人数。在F2单元格输入公式:
=COUNTIFS(A2:A7,E2)

如果计数条件不止一个,比如计算“1班”成绩大于等于90的人数。在G2单元格输入公式:
=COUNTIFS(A2:A7,E2,C2:C7,F2)

8、subtotal函数
subtotal函数对筛选后的数据求和、求平均值、求最大值等。
例如,在E1单元格输入公式:
=SUBTOTAL(9,E4:E9)
subtotal函数中数字“9”代表求和。此时没有筛选数据,subtotal函数返回值为“2100”,也就是总销售额。

如果筛选出业务员“郭靖”,商品“手机”,subtotal函数返回值为“600”,计算的是筛选后的数据合计。

在单元格中输入“=subtotal(”后,会出现如下图所示的列表,不同的数字代表不同的汇总方式,比如“1”代表计算平均值,“2”代表计数,“9”代表求和。

9、index+match函数
因为在查找数据时,index+match函数常常组合在一起使用,因此把这两个函数放在一起学习。
(1)我们先来看match函数的基本用法。
match函数用于返回查找值在查找区域中的位置。
例如下图中,在H3单元格输入公式:
=MATCH(G3,B2:B8,0)
这个公式的含义是,在查找区域B2:B8中,查找值“欧阳锋”是第几个。公式中的“0”表示精确匹配。精确匹配是指查找到的值必须和查找值一样,比如查找值是“欧阳锋”,那么“欧阳风”、“欧阳丰”就不是要找的。

再例如,查找“2月”在B2:E2中的位置。在H3单元格输入公式:
=MATCH(G3,B2:E2,0)

(2)再来看index函数的基础用法。
在I3单元格输入公式:=INDEX(B2:E8,G3,H3)
这个公式的含义是,在查找区域B2:E8中,返回第3行第2列交叉处的数据。index函数中的第几行、第几列是相对于查找区域来说的。B2:E8的第3行第2列,其实就是C4单元格,该单元格的值是“77”。

如果查找区域是单行或单列,只需指明是第几个就可以。
比如下图中查找区域是单行,H3单元格输入公式:
=INDEX(B2:E2,G3)

或者下图中查找区域是单列,在H3单元格输入公式:
=INDEX(B2:B8,G3)

(3)index函数中的第几行、第几列,可以由match函数生成。
例如,查找“欧阳锋”在“1月”的销售额,在I3单元格输入公式:
=INDEX(B2:E8,MATCH(G3,B2:B8,0),MATCH(H3,B2:E2,0))

10、iferror函数
iferror函数可以用于屏蔽错误值。
例如,如果index+match函数查找不到符合条件的值,返回错误值#N/A。

如果不想显示错误值,可以在index+match函数外套上iferror函数。
在I3单元格输入公式:
=IFERROR(INDEX(B2:E8,MATCH(G3,B2:B8,0),MATCH(H3,B2:E2,0)),"找不到")
如果index+match函数能找到符合条件的值,就返回查找到的值,否则返回“找不到”。

11、left函数
left函数从左边第一个字符开始,提取指定个数的字符。
比如下图中,提取前4个字符,在B2单元格输入公式:
=LEFT(A2,4)

12、right函数
left函数从右边第一个字符开始,提取指定个数的字符。
比如下图中,提取最后4个字符,在B2单元格输入公式:
=RIGHT(A2,4)

13、mid函数
mid函数从中间指定位置开始,提取指定个数的字符。
比如下图中,从A列第3个字符开始,提取2个字符。在B2单元格输入公式:
=MID(A2,3,2)

14、find函数
find函数用于查找某字符在一个字符串中出现的位置。如果查找字符出现不止一次,返回第一次出现的位置。
例如下图,查找A列每个单元格内“省”出现的位置。在B2单元格输入公式:
=FIND("省",A2)

find函数常和left/right/mid函数组合使用,来提取字符。
例如提取地址中的省份,在B2单元格输入公式:
=LEFT(A2,FIND("省",A2))

15、replace函数
replace函数将特定位置的字符替换为其他字符。
例如,把A列每个单元格的一串数字,从第4个数字开始,一共3个数字,替换成“***”。在B2单元格输入公式:
=REPLACE(A2,4,3,"***")

16、substitute 函数
substitute函数用于将指定字符替换为其他字符。
例如,把A列中每个单元格内的“-”替换成“楼”。在B2单元格输入公式:
=SUBSTITUTE(A2,"-","楼")

17、sumproduct函数
sumproduct函数可以进行先乘积再求和的计算。
例如根据指标1~指标4的得分及权重,计算综合得分。在C7单元格输入公式:
=SUMPRODUCT(B2:B5,C2:C5)
计算过程可以理解为:同一行的单元格先相乘,乘积结果再相加。即
B2*C2+B3*C3+B4*C4+B5*C5=90*60%+80*20%+60*10%+70*10%=83

18、weekday函数
weekday函数计算,某个日期是一周中的第几天。weekday函数可以指定一周的第1天从周几起算。
在B2单元格输入公式:
=WEEKDAY(A2,2)
一周中的第1天从周一起算,周二是第2天,……,周日则是第7天。

19、year函数
year函数可以从日期中提取年份。
例如A列为一组日期,需要提取年份数据。在B2单元格输入公式:
=YEAR(A2)

20、month函数
month函数可以从日期中提取月份。
例如A列为一组日期,需要提取月份数据。在B2单元格输入公式:
=MONTH(A2)
