Excel 工作表中的函数是非常的繁多的,如果要全部掌握,几乎是不可能的,也没有这个必要,不用行业,不同部门对函数需求都不同,所以,只需要掌握自己常用的部分函数即可,但是,下文中的 10 个函数是部分行业和部门的,所有的从业人员必须 100% 全部掌握!
一、Excel 工作表函数:Sum。
功能: 求和
语法结构:=Sum(值或单元格区域)。
目的: 计算总“月薪”。
方法:
在目标单元格中输入公式:=SUM(1*G3:G12),并用 Ctrl+Shift+Enter 填充即可。
解读:
因为“月薪”为文本型数值,所以直接用 Sum 函数求和时,得到的结果为 0,此时我们需要将每个值转换为数值,所以给每个值乘以 1,然后用 Sum 函数求和即可。
二、Excel 工作表函数:If
功能: 判断是否满足某个条件,如果满足则返回一个值,如果不满足则返回另一个值。
语法结构:=IF(判断条件, 条件为真时的返回值, 条件为假时的返回值)。
目的:“月薪”>4000,返回“高”,>3000,返回“中”,否则返回“底”。
方法:
在目标单元格中输入公式:=IF(G3>4000," 高 ",IF(G3>3000," 中 "," 低 "))。
解读:
If 函数除了常规的判断之外,还可以嵌套使用,公式的含义为:如果当前单元格的值>4000,则直接返回“高”,终止判断,否则继续执行当前单元格的值是否>3000,如果大于,返回“中”,否则返回“低”。
三、Excel 工作表函数:Lookup
功能: 从单行或单列或数组中查找一个值。
Lookup 具有两种形式: 向量形式和数组形式。
(一)向量形式
功能: 从单行或单列中查找查找指定的值,返回第二个单行或单列中相同位置的值。
语法结构:=Lookup(查找值, 查找值所在的范围,[ 返回值所在的范围])。
当“查找值所在的范围”和“返回值所在的范围”相同时,可以省略“返回值所在的范围”。
目的: 查询员工的“月薪”。
方法:
1、选定数据源区域,以“员工姓名”为主要关键字“升序”排序。
2、在目标单元格中输入公式:=LOOKUP(J3,B3:B12,G3:G12)。
解读:
如果未对数据源以查询关键在所在列进行升序排序,则查询的结果是不准确的,甚至返回错误代码,所以在使用 Lookup 函数时,先对查询关键字所在的列为主要关键字升序排序,然后再查询。
(二)数组形式
功能: 从指定的范围第一列或第一行中查询指定的值,返回指定范围中最后一列或最后一行对应位置上的值。
语法结构:=Lookup(查询值, 查询范围)。
解读:
从从“功能”中可以看出,Lookup 函数的数组形式,查找值必须在查询范围的第一列或第一行中,返回的值必须是查询范围的最后一列或最后一行对应的值。即:查找值和返回值在查询范围的“两端”。
目的: 查询员工的“月薪”。
方法:
1、选定数据源区域,以“员工姓名”为主要关键字“升序”排序。
2、在目标单元格中输入公式:=LOOKUP(J3,B3:G12)。
解读:
数据范围 B3:G12 中,B 列为查询值 J3 所在的列,G 列为返回值所在的列。
(三)优化形式(单条件查询)
在使用 Lookup 函数时,如果每次都要排序,会非常的麻烦,所以我们可以对其进行优化处理。
目的: 查询员工的“月薪”。
方法:
在目标单元格中输入公式:=LOOKUP(1,0/(B3:B12=J3),G3:G12)
解读:
1、仔细分析公式 =LOOKUP(1,0/(B3:B12=J3),G3:G12),不难发现,其本质还是为向量形式,查询值为 1,查询范围为“0”和“错误值”组成的新数组……。
2、查询范围:0/(B3:B12=J3),如果 J3 和 B3:B12 范围中的值相等,则返回 1, 如果不相等,则返回 0,0/1=0,0/ 0 则返回错误。而 Lookup 函数在查询时,如果找不到对应的查询值,则自动“向下匹配”,其原则为:小于或等于查询值的最大值作为当前的查询值。即只有 0 符合条件,返回 0 所对应位置的值。得到查询结果。
(四)优化形式(多条件查询)
目的: 查询员工在“已婚”和“未婚”时的工资。
方法:
在目标单元格中输入公式:=LOOKUP(1,0/((J3=B3:B12)*(K3=E3:E12)),G3:G12)。
解读:
当两个条件都为真时,其乘积也为真,其中一个为假或两个都为假时,其乘积也为假。所以多条件查询和单条件查询的原理是相同的。
(五)多层区间查询
目的: 查询“月薪”对应的等级,≥4000 的为“高”;≥3000 且<4000 的为“中”,<3000 的为“低”。
方法:
在目标单元格中输入公式:=LOOKUP(G3,$J$3:$K$5)。
解读:
此方法主要应用了 Lookup 函数的数组形式和“向下匹配”的特点。
四、Excel 工作表函数:Vlookup
功能: 搜索工作表区域首列满足条件的元素,确定待检索单元格在区域中的行序号,再进一步返回选定单元格的值。
语法结构:=Vlookup(查询值,数据范围,返回值列数,匹配模式)。
其中匹配模式有两种,分别为“0”或“1”。其中“0”为精准匹配,“1”为模糊匹配。
(一)常规查询
目的: 查询员工的“月薪”。
方法:
在目标单元格中输入公式:=VLOOKUP(J3,B3:G12,6,0)。
解读:
由于“月薪”在数据范围 B3:G12 的第 6 列,所以参数“返回值列数”为 6。
(二)反向查询
目的: 根据“身份证号码”查询“员工姓名”。
方法:
在目标单元格中输入公式:=VLOOKUP(J3,IF({1,0},C3:C12,B3:B12),2,0)。
解读:
公式中的 IF({1,0},C3:C12,B3:B12) 的作用为形成一个以 C3:C12 为第一列、B3:B12 为第二列的临时数组。
(三)多条件查询
目的: 根据“员工姓名”和 " 婚姻”查询对应的“月薪”。
方法:
在目标单元格中输入公式:=VLOOKUP(I3&J3,IF({1,0},B3:B12&D3:D12,F3:F12),2,0),并用 Ctrl+Shift+Enter 填充。
解读:
1、当有多个查询的条件时,用连接符“&”连接在一起,对应的数据区域也用“&”连接在一起。
2、公式中 IF({1,0},B3:B9&C3:C9,D3:D9) 的作用为形成一个以 B3:B9 和 C3:C9 为第一列,D3:D9 为第二列的临时数组。
五、Excel 工作表函数:Match
功能: 返回符合特定值特定顺序的值在数组中的位置。
语法结构:=Match(定位值, 定位范围,[ 匹配模式]),其中“匹配模式”有 -1、0、1 三种,分别为:“大于”、“精准”、“小于”。
目的: 根据“员工姓名”定位其在对应列中的相对位置。
方法:
在目标单元格中输入公式:=MATCH(I3,B3:B12,0)。
解读:
此处的位置相对而言的,具体要看“定位范围”的大小。
六、Excel 工作表函数:Choose
功能: 根据给定的索引值,从参数中选取相应的值或操作。
语法结构:=Choose(索引值, 表达式 1, 表达式 2……表达式 N)。
如果参数“索引值”超出“表达式”的个数,则返回错误值。
目的: 根据“索引值”返回相应的“员工姓名”。
方法:
在目标单元格中输入公式:=CHOOSE(I3,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12)。
七、Excel 工作表函数:Datedif
功能: 以指定的方式计算两个日期之间的差值。
语法结构:=Datedif(开始日期, 结束日期, 统计方式),常用的统计方式有“Y”、“M”、“D”,即“年”、“月”、“日”。
目的: 计算距离 2021 年元旦的天数。
方法:
在目标单元格中输入公式:=DATEDIF(TODAY(),"2021-1-1","D")。
解读:
“开始日期”用函数 Today(),而不用指定日期的原因在于,其值会随着日期的变化自动更新。
八、Excel 工作表函数:Days
作用: 返回两个日期之间的天数。
语法结构:=Days(结束日期,开始日期)。
目的: 计算距离 2021 年元旦的天数。
方法:
在目标单元格中输入公式:=DAYS("2021-1-1",TODAY())。
解读:
此函数的依次为“结束日期”、“开始日期”,而并不是“开始日期”、“结束日期”,和 Datedif 函数的参数顺序要区别对待。
九、Excel 工作表函数:Find
功能: 返回一个字符串在另一个字符串中出现的起始位置(区分大小写)。
语法结构:=Find(查找字符串, 源字符串,[ 起始位置]);当省略“起始位置”时,默认从第一个字符串开始。
目的: 提取“员工编号”中“—”的位置。
方法:
在目标单元格中输入公式:=FIND("-",C3,1)。
解读:
也可以用公式:=FIND("-",C3) 来实现,省略参数“起始位置”时,默认从第一个字符开始。
十、Excel 工作表函数:Index
功能: 返回指定区域中指定行和列交汇处的值或引用。
语法结构:=Index(数据范围, 行,[ 列]),当省略参数“列”时,默认值为 1。
目的: 返回相应行的“员工姓名”。
方法:
在目标单元格中输入公式:=INDEX(B3:B12,J3,1)。
原文链接:https://zhuanlan.zhihu.com/p/329067675