购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 常用函数

本节对Excel常用函数的参数及用法进行介绍。

1.2.1 VLOOKUP

VLOOKUP是使用EXCEL办公最经常被使用的函数之一,其主要的功能是查询匹配,查找指定值同行不同列的另一个值。数据匹配是用户在办公中经常遇到的问题,人工匹配不但耗时长且准确性难以保证,这时就可以使用VLOOKUP函数按列查找的功能,函数返回该行所需查询列所对应的值,并且复制公式可以实现批量查找,这种查找方式被称为VLOOKUP精确匹配。

可以将VLOOKUP函数的计算过程理解为查字典的过程,将查找一个词语的含义分成以下几步:

(1)明确要查找的词语(要查询什么数据)。

(2)在哪本字典中查找(查找数据的区域)。

(3)词语所在字典中的位置(要返回的数据在查找范围内的列数)。

(4)只要词语本身含义还是同时需要相近词语的含义。

1.VLOOKUP参数说明

VLOOKUP有4个参数,第一个参数是要查询数据的单元格地址,第二个参数是查找数据区域,第三个参数是数值变量,指定返回数据相对位置,第四个参数是一个逻辑值,指定匹配方式,如图1-18和表1-1所示。

图1-18 VLOOKUP函数参数说明

表1-1 VLOOKUP函数参数说明
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

注意事项

(1)在第二个参数table_array数据区域中,第一列的单元格内容需要包含第一个参数lookup_value,否则会返回错误值“#N/A”。

(2)第三个参数col_index_num为1时返回第一列对应的数据,即返回查找值本身,这个功能可用于比较两列数据之间的数据差异。col_index_num为2时返回第二列对应的值,依此类推。所以col_index_num必须大于等于1,且小于等于table_array数据区域的最大列数,否则公式都会返回错误值。

(3)range_lookup需要设置一个逻辑值,指定VLOOKUP函数是精确匹配还是近似匹配。设置为FALSE、0、空格或者空值(需逗号占位)都是按照精确匹配方式查找;设置为TRUE或1则按照近似匹配方式查找。range_lookup也可以省略(无需逗号占位),此时函数会按照近似匹配方式查找。

精确匹配是VLOOKUP最常用的功能,也就是我们常说的“V一下”,但在需要对数值类型数据进行分组时近似匹配功能也很方便。

2.VLOOKUP精确匹配

精确匹配的例子如图1-19所示。

图1-19 VLOOKUP精确匹配

查找编号8001对应的姓名,公式如下:

=VLOOKUP(F3,A2:D7,2,0)

公式含义

=VLOOKUP(要查找的值,查找区域,返回值在查找范围内的列数,精确匹配输入0)

公式解析:

=VLOOKUP(编号8001所在单元格位置F3,查询区域为A2:D7,需要查询名字处于查找范围的第二列,精确匹配输入0或者FALSE)

3.VlOOKUP近似匹配

使用Excel对数据进行处理时有时需要对数值类型数据进行分段,例如年龄分层,将年龄分为0-17,18-59,60以上三段。首先想到的是判断函数IF,然而如果分段较多,IF层层嵌套导致公式很长且不方便维护,这时就可以使用VLOOKUP的近似匹配功能。

近似匹配首先需要建立一个参考数据区域,如图1-20所示。参考数据区域需要两列数据,第一列是开始数值,即分段范围中的最小数值,例如“18-24”分段对应的开始数值为“18”,第二列数据即分段名称。

图1-20 VLOOKUP近似匹配

年龄数据分段,公式如下:

=VLOOKUP(D7,$G$2:$H$7,2,1)

公式含义

=VLOOKUP(要查找的值,参考区域,一般是2,近似匹配设置为1)

公式解析:

=VLOOKUP(左侧数据源区域中46所在单元格,参考区域$G$2:$H$7需要注意加上绝对引用,位于第2列,近似匹配填1)

上述公式等同于使用IF函数公式

=I F(D 7<=2 4,"1 8-2 4",I F(D 7<=2 9,"2 5-2 9",I F(D 7<=3 4,"3 0-34",IF(D7<=39,"35-39",">=40"))))

4.反向匹配

前面介绍过VLOOKUP函数第三个参数需大于等于1,即从左向右查找。但有时需要从右向左查找,这时使用IF函数把数据源位置转换,以实现VLOOKUP的反向查找,如图1-21所示。

图1-21 VLOOKUP反向匹配

根据姓名张智查找对应的编号值,公式如下:

=VLOOKUP(F3,IF({0,1},A2:A7,B2:B7),2,0)

公式含义

=VLOOKUP(要查找的值,IF({0,1},匹配结果值所在列,查找值所在列),固定值为2,精确匹配设置0)

公式解析:

=VLOOKUP(右侧查找值张智所在单元格F3,IF({0,1},匹配结果值8001所在列,查找值张智所在列),固定值直接填2,精确匹配直接填0)

VLOOKUP反向匹配与常规匹配的区别是,第二个参数需要借助IF函数把数据源倒置,且第三个函数必须是2。IF函数内第一个参数是{1,0},第二个参数是匹配结果值所在列,第三个参数是查找值所在列。

如果结果值处于查找值左侧,最简单的方式是将结果值所在列复制到查找值的右侧。或者在查找值右侧建立一个辅助列,输入公式等于结果值所在列。

5.相邻列同时匹配

在匹配数据过程中,有时需要根据指定值同时匹配连续列的值,例如根据编号查找对应的员工姓名、部门以及年龄。为了让公式可以提升工作效率,可以对公式稍加修改。我们首先将姓名和部门的匹配公式写出来

匹配姓名公式为=VLOOKUP(F3,A3:D7,2,0)

匹配部门公式为=VLOOKUP(F3,A3:D7,3,0)

对比两个公式,只有第三个参数是不同的,那么将第三个参数指定为一个动态变化的值就可以通过一个公式实现多值匹配。且姓名对应“2”,部门对应“3”,依次类推公式越靠右值越大,那么可以使用COLUMN函数实现动态参数。COLUMN函数的作用是返回某个单元格的对应的列数,它只需要一个单元格地址作为参数,返回这个单元格对应的列数,例如公式“=COLUMN(D1)”返回结果为4。

图1-22 VLOOKUP匹配多列

根据编号8001查找对应的姓名、部门、年龄,公式如下:

=VLOOKUP($F3,$A$2:$D$7,COLUMN(B2),0)

公式含义

=VLOOKUP(要查找的值并在列标前添加绝对引用保证公式拖动时列标不变,添加绝对引用的数据区域,COLUMN(B2)返回值为2表示查找范围的第2列,精确匹配设置为0)

公式解析:

=VLOOKUP(右侧查找值张智所在单元格“F3”并在列标前添加绝对引用,添加绝对引用的数据源区域$A$2:$D$7,COLUMN函数和参数B2表示从第二列开始查找,精确匹配直接填0)

1.2.2 COUNTIFS

COUNTIFS函数的作用是计算数据区域内满足给定条件的单元格的个数,COUNTIFS是COUNTIF函数的拓展,可以同时设定多个条件。

COUNTIFS的用法和功能与COUNTIF一样,但COUNTIF只适用于单一条件,而COUNTIFS可以实现多条件计数所以需要进行条件计数时可以直接使用COUNTIFS,且有时需要将单条件计数改为多条件计数,使用COUNTIFS也方便维护。

1.参数说明

COUNTIFS可以有多个参数,取决于计数条件的个数,一个条件需要两个参数,两个条件需要四个参数,依此类推,即每添加一个条件就需要指定条件区域和条件值,增加两个参数。

以基于两个条件统计计数为例,COUNTIFS需要四个参数,第一个参数为条件1所在数据区域,第二个参数为条件1,第三个参数为条件2所在数据区域,第四个参数为条件2,如图1-23所示。

图1-23 COUNTIFS参数

COUNTIFS的参数具体说明如表1-2所示。

表1-2 COUNTIFS参数说明
COUNTIFS (criteria_range1,criteria1,[criteria_range2,criteria2]…)

注意事项,在多条件计数时,条件区域的大小须一致。例如条件区域1是“C3:C7”,而条件区域2是“B2:B8”,公式就会返回错误值“#VALUE”,将条件区域2改为“B3:B7”就是正确的。

2.单条件计数

对于单条件计数情况,使用COUNTIFS和COUNTIF都能实现需求,如图1-24两者都可计算1组的人数。

图1-24 COUNTIFS单条件计数

计算1组有多少个员工,公式如下:

=COUNTIFS(C3:C7,F3)

公式含义

=COUNTIFS(条件所在区域,条件)

公式解析:

=COUNTIFS(条件“1组”所在数据区域,条件“1组”所在单元格)

3.多条件计数

多条件计数实例如图1-25所示。

图1-25 COUNTIFS多条件计数

计算1组中叫王伟的人数,公式如下:

=COUNTIFS(C3:C7,F3,B3:B7,G3)

公式含义

=COUNTIFS(条件1所在区域,条件1,条件2所在区域,条件2)

公式解析:

=COUNTIFS(条件1“1组”所在区域C3:C7,条件1“1组”所在单元格F3,条件2“王伟”所在区域B3:B7,条件2“王伟”所在单元格G3)

4.判断唯一

如何进行数据去重是处理数据过程中经常遇到的问题,Excel中有很多判断方法实现,COUNTIFS函数法就是其中之一。COUNTIFS的功能是条件计数,要判断某列数据是否唯一,只要以数据列作为条件区域,以数据列的每个单元格作为条件,计数大于1的单元格就是重复的。筛选计数为1的会把重复的数据全部漏掉,而数据去重需要将重复数据也保留一条。那么我们就可以在条件计数的基础上将公式功能改为计算累计条件计数,统计单元格值第几次在数据列中出现。这就需要借助单元格绝对引用的方式,在COUNTIFS第一个参数数据列第一个单元格地址的行号前加上绝对引用,将行号锁住,这样随着公式向下拖动,统计范围越来越大,进而实现累计条件计数,如图1-26所示。

图1-26 COUNTIFS判断唯一

计算每个人姓名在姓名列第几次出现(筛选判断列数值等于1为唯一值),公式如下:

=COUNTIFS(B$1:B2,B2)

公式含义

=COUNTIFS(包含条件值范围逐渐增大的条件区域,条件所在单元格地址)

公式解析:

=COUNTIFS(在开始坐标行号前添加绝对引用实现随着公式向下拖动条件区域逐渐增加,姓名列从第一行单元格开始作为条件)

在条件区域的开始坐标添加绝对引用,公式向下拖动时只有结束坐标逐渐变大,这就实现了累计计数的效果。如图1-26所示,姓名是王伟的员工在第一个判断单元格中(F3)统计范围是B1:B3,计数出现一次,到最后的判断单元格(F6)统计范围变成B1:B6,符合条件的姓名就是2次,此时过滤判断结果为1的数据即为非重复的数据。

5.排名和分组排名

排名是数据统计过程中经常遇到的问题,有时还需要分组排名,例如每月按照销售组对员工的业绩进行排名,Excel中的COUNTIFS可以实现分组排名。首先我们分析一下排名究竟是什么,如果一个销售组有三个员工,排名第一的员工,业绩一定大于其他两个员工,也就是自己的业绩大于等于最大的业绩,计数为1。对于最后一名,三个员工业绩都大于自己的业绩,计数为3。这样,通过COUNTIFS统计到的计数值就可以作为排名,如图1-27所示。

图1-27 COUNTIFS实现排名

统计业绩列内业绩排名,公式如下:

=COUNTIFS($D$2:$D$6,">="&D2)

公式含义

=COUNTIFS(条件区域需要添加绝对引用,使用“&”字符串拼接符将">="和条件所在单元格地址拼接作为条件)

公式解析:

=COUNTIFS(条件业绩所在数据区域$D$2:$D$6,使用&将">="与业绩单元格拼接作为条件)

COUNTIFS第二个参数可以用公式作为参数输入,所以可以使用“&”将大于等于号与单元格地址拼接起来作为计数条件之一。

COUNTIFS是多条件计数,那么可以增加一个条件,实现每个组别内排名,如图1-28所示。

图1-28 COUNTIFS实现分组排名

计算每个人业绩在组内的排名,公式如下:

=COUNTIFS($C$2:$C$6,C2,$D$2:$D$6,">="&D6)

公式含义

=COUNTIFS(条件1所在区域添加绝对引用,条件1,条件2所在区域添加绝对引用,条件2)

公式解析:

=COUNTIFS(条件1组别所在数据区域$C$2:$C$6需要添加绝对引用,条件1组别所在单元格,条件2业绩列$D$2:$D$6需要添加绝对引用,使用“&”字符串拼接符将">="和条件2所在单元格地址拼接作为条件)

1.2.3 SUMIFS

SUMIFS函数的作用是对满足给定条件的数值单元格求和,SUMIFS是SUMIF函数的拓展,可以同时设定多个条件。

SUMIFS跟COUNTIFS用法相近,前者用于条件求和,如果添加一列值都等于1的辅助列,那么SUMIFS也可以实现COUNTIFS条件计数功能。相比于COUNTIFS参数一定是成对出现的,SUMIFS还需要指定数值求和列作为第一个参数。可以对比学习两个函数,增加印象。

1.参数说明

COUNTIFS可以有多个参数,参数个数取决于需要求和条件的个数,一个条件需要两个条件参数,一个求和参数;两个条件需要四个条件参数,一个求和参数,依此类推,即每添加一个条件就需要指定条件区域和条件值,增加两个参数。

以基于两个条件进行统计计数为例,SUMIFS需要五个参数,第一个参数是求和区域,第二个参数是条件1所在数据区域,第三个参数是条件1,第四个参数是条件2所在数据区域,第五个参数为条件2,如图1-29所示。

图1-29 SUMIFS参数

SUMIFS的参数说明如表1-3所示。

表1-3 SUMIFS的参数说明
SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2] ...)

2.单条件求和

与COUNTIF一样,加不加“S”都可以单条件统计,如果使用两个条件及以上就需要使用加“S”的SUMIFS,为方便维护这里同样建议条件求和公式都使用SUMIFS函数。同时需要注意的是SUMIF与SUMIFS的参数位置分布稍有不同,SUMIF的求和区域作为第三个参数放在最后,语法为:SUMIF(Criteria_range1, Criteria1,Sum_range)。如图1-30所示,SUMIF和SUMIFS都能实现单条件求和。

图1-30 SUMIFS单条件求和

计算1组的业绩和,公式如下:

=SUMIFS(D3:D7,C3:C7,F3)

公式含义

=SUMIFS(求和数据区域,条件区域,条件)

公式解析:

=SUMIFS(求和区域业绩列,条件区域组别列,组别“1组”所在单元格)

3.多条件求和

多条件求和实例如图1-31所示。

图1-31 SUMIFS多条件求和

SUMIFS多条件求和即是在单条件求和的公式基础上,后面添加条件2区域和条件2作为SUMIFS函数的第四个和第五个参数。

计算1组的王伟业绩和,公式如下:

=SUMIFS(D3:D7,C3:C7,F3,B3:B7,G3)

公式含义

=SUMIFS(求和区域,条件1所在区域,条件1,条件2所在区域,条件2)

公式解析:

=SUMIFS(求和业绩列,条件1“1组”所在列组别,条件1“1组”所在单元格,条件2姓名“王伟”所在列,条件2姓名“王伟”所在单元格)

4.模糊条件求和

有时在条件统计中的条件是模糊的,例如需要统计“张”姓的业绩和,这时就需要使用Excel中的通配符“*”,代表一串不限字符个数的字符串,例如“张*”可以表示以“张”开头的一切字符串,例如“张麻子”“张图表”“张Excel”等,我们要统计“张”姓的业绩和就可以使用“张*”作为SUMIFS的条件,如图1-32所示。

图1-32 SUMIFS模糊条件求和

计算姓张的员工的业绩和,公式如下:

=SUMIFS(D3:D7,B3:B7,"张*")

公式含义

=SUMIFS(求和列,条件区域,条件字符串+"*")

公式解析:

=SUMIFS(求和区域业绩列D3:D7,条件区域姓名列B3:B7,要匹配姓张的员工使用"张*"字符串)

COUNTIFS、VLOOKUP等函数也可以将通配符“*”和字符串组合结果作为参数实现模糊匹配。

5.范围条件求和

在COUNTIFS和SUMIFS等函数中也可以将大于等于号输入至参数作为判断条件,如图1-33所示,通过SUMIFS计算业绩大于等于9000的业绩和。

图1-33 SUMIFS多条件求和

统计业绩列中业绩大于等于9000的业绩和,公式如下:

=SUMIFS(D3:D7,D3:D7,">=9000")

公式含义

=SUMIFS(求和列,条件所在区域,“比较运算符+数值”)

公式解析:

=SUMIFS(统计求和业绩列D3:D7,条件区域业绩列D3:D7,判断条件是大于等于9000)

1.2.4 IF

IF是判断函数,作用是判断是否满足给定条件,如果满足(条件为真)返回一个值,不满足(条件为假)返回另一个值。例如IF(1=1,A,B)返回A, IF(1=2,A,B)返回B。

1.参数说明

IF(判断公式是否是对的,是对的要返回的值,是错的要返回的值)

IF函数有三个参数,都是必填项,第一个参数是一个逻辑值,判断对错,如果对,函数返回第二个参数,如果错,函数返回第三个参数,如图1-34所示。

图1-34 IF函数参数

IF函数的参数说明如表1-4所示。

表1-4 IF函数的参数说明
IF(logical_test,value_if_true,value_if_false)

2.判断

IF是EXCEL中使用频率最多的函数之一,最基础的方式就是通过判断一个条件的真假返回结果值,如图1-35所示。

图1-35 IF函数判断

根据年龄判断是否成年,公式如下:

=IF(C2>=18,"成年","未成年")

公式含义

=IF(判断条件,参数1成立返回值,参数1不成立返回值)

公式解析:

=IF(判断年龄所在单元格C2是否大于18,如果年龄大于等于18返回“成年”,如果年龄不大于等于18返回“未成年”)

3.嵌套判断

IF函数还通过公式嵌套的方式(以一个包含IF函数的公式作为参数)实现更为复杂的功能,如图1-36所示。

根据年龄判断年龄范围,公式如下:

=IF(C2<=20,"<=20",IF(C2<=30,"21-30",">30"))

公式含义

=IF(判断条件1,条件1成立返回值,IF(判断条件2,条件2成立返回值,条件2不成立返回值)

公式解析:

=IF(判断年龄是否小于等于20,如果年龄小于等于20公式返回“<=20”,(判断年龄是否小于等于30,如果年龄小于等于30公式返回“21-30”,如果年龄不小于等于30公式返回“>30”))

图1-36 IF函数嵌套判断

前面介绍VLOOKUP近似匹配功能时介绍过,如果需要对数值进行分段处理。相比于使用IF嵌套公式,使用VLOOKUP实现更加清晰同时也方便维护。

1.2.5 聚合函数

聚合函数是指可以对一组数值执行计算并返回一个单一值的函数。Excel中并未明确规定聚合函数的概念。因为函数的构成和使用方法几乎一致,所以这里将多个单元格数值汇总计算并返回一个统计结果值的函数一起介绍。

Excel常用的聚合函数有SUM(求和),COUNT(计数),AVERAGE(平均值),MAX(最大值),MIN(最小值),前面介绍的SUMIFS和COUNTIFS也属于聚合函数,如图1-37所示。

聚合函数只有一个参数,因为需要对数据参数聚合,所以要求参数的数据类型必须是数值类型。

图1-37 Excel聚合函数

1.单元格区域数据聚合

对D3-D7单元格内求和,公式如下:

=SUM(D3:D7)

公式含义

=SUM(计算求和数据区域)

公式解析:

=SUM(求和数据区域业绩列)

2.COUNT和COUNTA

在Excel中,统计区域单元格数量的函数有两个,即COUNT和COUNTA,两者略有区别。其中COUNT要求参数内数据类型必须是数值类型,忽略空单元格、逻辑值或者文本数据,只能统计数值类型的数据。而COUNTA函数返回非空的单元格个数,对参数无要求,所以COUNTA也可以统计逻辑值或者文本数据。

如图1-38所示,如果业绩列有脏数据,如张智的业绩应该填写为“12000”,实际填写成张智“12000元”,COUNT函数只能统计数据类型是数值的数据的个数,所以只统计4行,而COUNTA对统计区域内数据类型无要求,所以函数返回结果是5。

图1-38 COUNT和COUNTA

因为COUNTA可以统计任何非空的单元格数量,所以在将某一列作为COUNTA参数时列标题也会被计数,例如本例中需要统计有业绩的员工数是5个,COUNTA函数直接指定D列作为参数,公式返回结果为6,所以需要对公式返回结果“-1”。

3.数组参数

数组是Excel存储数据的一种方式,一般由多个数据组成。一个数组对应一片单元格区域,例如公式“=MAX({90,80,70})”返回90,如图1-39所示。

图1-39 数组作为函数参数

如果横坐标是固定的,数组也可以直接输入图表的“选择数据源”对话框中“水平(分类)轴标签”中内容作为横坐标,而不需要将横坐标内容在工作表中输入,如图1-40所示。

图1-40 数组作为图表横坐标

1.2.6 文本函数

文本类型是Excel中最为常见的数据类型,同时文本类型的数据内容组成相对复杂,因此Excel中有很多用于处理文本字符串的函数,这类函数一般被称为文本函数。

处理文本字符串的需求有很多,如合并、拆分、大小写转换等。在对数据处理和分析过程中最常见的是对字符串进行拆分或截取,方便进一步分析。例如将详细地址信息拆分为省市区三列数据,或是通过人员的身份证号获取户籍地区、出生日期以及性别等信息,这就需要使用字符串提取函数。

1.LEFT函数和RIGHT函数

LEFT和RIGHT都是文本字符串提取函数,LEFT函数从文本字符串左侧的第一个字符开始提取指定个数量的字符,RIGHT是从右侧最后一个字符串开始提取。

LEFT和RIGHT都有两个参数,如表1-5所示,第一个参数是指定要提取的文本字符串,第二个参数用于指定提取字符串的长度,例如图1-41的D6单元格的公式返回“张黄”,LEFT函数是从左侧第一个字符开始提取,RIGHT是从右侧的第一个字符提取,例如将图1-41公式改为“=RIGHT(B6,2)”返回“黄河”。

图1-41 LEFT参数

表1-5 LEFT函数参数说明
LEFT(text,num_chars)

获取员工姓名前两个字符,公式如下:

=LEFT(B6,2)

公式含义

=LEFT(要提取的字符串所在单元格,提取字符数)

公式解析:

=LEFT(提取姓名“张黄河”所在单元格B6,提取2个字符数)

2.MID函数

提取文本信息时有时需要从指定位置提取,而LEFT函数和RIGHT函数都是从左侧或右侧第一个字符开始提取,这时候就需要用到MID函数,MID函数作用是从一个字符串中指定位置提取指定个字符。

MID函数有三个参数,比LEFT函数和RIGHT函数多一个参数用于指定提取开始位置,如表1-6所示。第一个参数是指定要提取的文本字符串,第二个参数为提取开始位置,如果设置1,则与LEFT函数作用一样,第三个参数用于指定提取字符串的长度,例如公式“=MID(‘张智’,2,1)”返回“智”,如图1-42和图1-43所示。

图1-42 MID函数参数

表1-6 MID函数参数说明
MID(text,start_num,num_chars)

获取员工姓名中间名,公式如下:

=MID(B6,2,1)

公式含义

=MID(要提取的字符串所在单元格,从第几位开始提取,提取字符数)

公式解析:

=MID(提取姓名“张黄河”所在单元格B6,从第2位开始提取,提取1个字符数)

3.LEN函数

LEN函数的功能是计算文本字符串的字符数。LEN函数只有一个参数,参数类型可以是常量、名称、单元格引用以及公式,语法为LEN (text)。例如公式“=LEN(‘张黄河’)”返回“3”。

LEN函数可与字符串提取函数组合使用,用于提取一列数据中字符长度不一致的数据。如图1-43所示,需要截取员工的名字,即姓名是两个字的提取最后一个字,三个字的提取最后两个字,我们首先想到使用MID函数,这里使用RIGHT和LEN函数也可实现。首先使用LEN函数判断姓名的长度,得到的结果减去1就是名字的字符长度,再使用RIGHT函数或MID函数就可以获取名字了。

图1-43 RIGHT和LEN函数提取字符串

获取员工姓名中的“名”,公式如下:

=RIGHT(B2,LEN(B2)-1)

公式含义

=RIGHT(要提取的姓名所在单元格,LEN(要提取的姓名所在单元格)-1)

公式解析:

=MID(提取姓名“张黄河”所在单元格B6,使用LEN函数获取的姓名长度减1得到名的长度)

该公式作用等同于公式“=MID(B2,2,2)”。使用MID函数和RIGHT函数并未考虑复姓的情形,如果有复姓需要使用IF函数对几种情况进行判断。

由于LEN函数也能统计到空格,所以LEN函数还可以用于检查字符串中是否存在空格,如图1-44所示,姓名列中“李响”和“张智”单元格中分别在前后有一个空格,如果使用带空格数据统计就可能会出现问题,但是只通过观察很难判断,这时就可以使用LEN函数来判断。公式“=LEN(B2)”返回值是3,可以判定两个字的姓名左右两侧有一个空格。或者使用公式“=LEN(B2)-LEN(TRIM(B2))”,返回值大于1的都是两侧存在空格情况,其中TRIM函数功能是将字符串两侧的空格剔除。

图1-44 LEN函数检查字符串中空格

1.2.7 日期函数

日期类型是Excel数据类型之一,日期函数是指那些用于处理日期类型数据的函数,如常用的获取年月日的YEAR函数、MONTH函数、DAY函数以及用于计算日期差的DATEDIF函数。

1.年月日函数

年月日函数都只有一个参数,参数可以是一个单元格位置或是直接输入日期,函数返回对应的年月日。这里以月份函数——MONTH函数为例介绍函数用法,YEAR函数和DAY函数的用法相同,如图1-45所示。

图1-45 年月日函数

计算D6单元格内日期对应月份,公式如下:

=MONTH(D6)

公式含义

=MONTH(计算日期所在单元格位置)

公式解析:

=MONTH(第6行数据统计时间所在的单元格)

2.DATEDIF

DATEDIF函数用于计算两个日期之间的相隔天数、月数或者年数。DATEDIF函数一共需要三个参数,分别是一段时间周期的开始日期、结束日期以及函数返回的时间类型的代码,如图1-46所示。

图1-46 DATEDIF参数

DATEDIF函数的参数说明如表1-7所示。

表1-7 DATEDIF函数的参数说明
DATEDIF(Start_date,End_date,Unit)

DATEDIF函数的第三个参数是Excel规定的时间单位代码,通过时间单位代码字符串表示不同的计算时间间隔方式,如果输入其他字符,函数返回错误值#NAME?。其中"Y"/"M"/"D"是最常使用的时间单位代码,三个代码对应不同的函数返回结果。

· "Y" :返回两个日期之间的整年数。

· "M" :返回两个日期之间的整月数。

· "D" :返回两个日期之间的整天数。

计算编号是8016员工的年龄,公式如下:

=DATEDIF(D7,TODAY(),"Y")

公式含义:

=DATEDIF(开始日期,结束日期即今天的日期,计算年龄即统计开始和结束间隔多少年)

公式解析:

=DATEDIF(8016号员工生日日期对应D6单元格,使用日期函数TODAY()获取今天的日期作为结束日期,使用代码"Y"计算年龄即统计间隔多少年)

TODAY函数也属于时间函数,该函数无须指定参数,括号内为空即可,函数直接返回今天日期。 H+QfUcND+IUAsMckRLS3Eaa0mnNiWsCdGJyDyB14ldabCUjctXEcVRx1rpfe0uaQ

点击中间区域
呼出菜单
上一章
目录
下一章
×