数据分析必备的43个Excel函数
Excel是我们工作中经常使用的一种工具,对于数据分析来说,这也是处理数据最基础的工具。很多传统行业的数据分析师甚至只要掌握Excel和SQL即可。
对于初学者,有的时候并不需要急于苦学R语言等专业工具(当然会也是加分项),因为Excel涵盖的功能足够多,也有很多统计、分析、可视化的插件。只不过我们平时处理数据的时候很多函数都不知道怎么用。
关于Excel的进阶学习,主要分为两块:一个是数据分析常用的Excel函数,另一个分享用Excel做一个简单完整的分析。
这篇文章主要介绍数据分析常用的43个Excel函数及用途。
关于函数:
Excel的函数实际上就是一些复杂的计算公式,函数把复杂的计算步骤交由程序处理,只要按照函数格式录入相关参数,就可以得出结果。如求一个区域的和,可以直接用SUM(A1:C100)的形式。
所以对于函数,不用刻意记刻意背,只要知道比如“选取字段,用Left/Right/Mid”函数,并且需要哪些参数怎么用就行了,复杂的就交给万能的百度吧。
函数分类:
关联匹配类
清洗处理类
逻辑运算类
计算统计类
时间序列类
一、关联匹配类
经常性的,需要的数据不在同一个excel表或同一个excel表不同sheet中,数据太多,copy麻烦也不准确,如何整合呢?这类函数就是用于多表关联或者行列比对时的场景,而且表越复杂,用得越多。
函数HLOOKUP和VLOOKUP都是用来在表格中查找数据。
1、VLOOKUP
功能:用于查找首列满足条件的元素。
语法:=VLOOKUP(要查找的值,要在其中查找值的区域,区域中包含返回值的列号,精确匹配或近似匹配 – 指定为 0/FALSE 或 1/TRUE)。
4、MATCH
功能:用于返回指定内容在指定区域(某行或者某列)的位置。
语法:= MATCH (要返回值的单元格区域或数组,查找的区域,查找方式)
5、RANK
功能:求某一个数值在某一区域内一组数值中的排名。
语法:=RANK(参与排名的数值, 排名的数值区域, 排名方式-0是降序-1是升序-默认为0)。
6、Row
功能:返回单元格所在的行
7、Column
功能:返回单元格所在的列
8、Offset
功能:从指定的基准位置按行列偏移量返回指定的引用
语法:=Offset(指定点,偏移多少行,偏移多少列,返回多少行,返回多少列)
二、清洗处理类
数据处理之前,需要对提取的数据进行初步清洗,如清除字符串空格,合并单元格、替换、截取字符串、查找字符串出现的位置等。
清除字符串空格:使用Trim/Ltrim/Rtrim
合并单元格:使用concatenate
截取字符串:使用Left/Right/Mid
替换单元格中内容:Replace/Substitute
查找文本在单元格中的位置:Find/Search
9、Trim
功能:清除掉字符串两边的空格
10、Ltrim
功能:清除单元格右边的空格
11、Rtrim
功能:清除单元格左边的空格
12、concatenate
语法:=Concatenate(单元格1,单元格2……)
合并单元格中的内容,还有另一种合并方式是&,需要合并的内容过多时,concatenate效率更快。
13、Left
功能:从左截取字符串
语法:=Left(值所在单元格,截取长度)
14、Right
功能:从右截取字符串
语法:= Right (值所在单元格,截取长度)
15、Mid
功能:从中间截取字符串
语法:= Mid(指定字符串,开始位置,截取长度)
举例:替换部分电话号码
18、Find
功能:查找文本位置
语法:=Find(要查找字符,指定字符串,第几个字符)
19、Search
功能:返回一个指定字符或文本字符串在字符串中第一次出现的位置 ,从左到右查找
语法:=search(要查找的字符,字符所在的文本,从第几个字符开始查找)
Find和Search这两个函数功能几乎相同,实现查找字符所在的位置,区别在于Find函数精确查找,区分大小写;Search函数模糊查找,不区分大小写。
20、Len
功能:文本字符串的字符个数
21、Lenb
功能:返回文本中所包含的字符数
三、逻辑运算类
22、IF
功能:使用逻辑函数 IF 函数时,如果条件为真,该函数将返回一个值;如果条件为假,函数将返回另一个值。
语法:=IF(条件, true时返回值, false返回值)
举例:统计制定店铺的业务笔数
30、COUNTIFS
功能:统计一组给定条件所指定的单元格数
语法:=COUNTIFS(第一个条件区域,第一个对应的条件,第二个条件区域,第二个对应的条件,第N个条件区域,第N个对应的条件)
比如:=COUNTIFS(Table1!A1: Table1!A100, “YES”,Table1!C1: Table1!C100, “NO” ) 计算Table1中A1到A100区域单元格中值为”YES”,而且同时C区域值为”NO”的单元格个数
31、SUM
计算单元格区域中所有数值的和
32、SUMIF
功能:求满足条件的单元格和
语法:=SUMIF(单元格1: 单元格2 ,条件,单元格3: 单元格4)
举例:计算一班的总成绩
32、SUMIFS
功能:对一组满足条件指定的单元格求和
语法:=SUMIFS(实际求和区域,第一个条件区域,第一个对应的求和条件,第二个条件区域,第二个对应的求和条件,第N个条件区域,第N个对应的求和条件)
比如=SUMIFS(Table1!C1:Table1!C100,Table1!A1: Table1!A100, “YES” ,Table1!B1:Table1B100, “NO” ) 计算Table1中C1到C100区域,同时相应行A列值为”YES”,而且对应B列值为”NO”的单元格的和。
33、SUMPRODUCT
功能:返回相应的数组或区域乘积的和
语法:=SUMPRODUCT(单元格1: 单元格2 ,单元格3: 单元格4)
比如:=SUMPRODUCT(Table1!A1:Table1!A100, Table2!B1Table2!B100) 计算表格1的A1到A100与表格2的B1到B100的乘积和,即A1*B1+A2*B2+A3*B3+…
34、Stdev
统计型函数,求标准差。
35、Substotal
语法:=Substotal(引用区域,参数)
汇总型函数,将平均值、计数、最大最小、相乘、标准差、求和、方差等参数化,换言之,只要会了这个函数,上面的都可以抛弃掉了。
36、Int/Round
取整函数,int向下取整,round按小数位取数。
round(3.1415,2)=3.14 ;
round(3.1415,1)=3.1
五、时间序列类
专门用于处理时间格式以及转换。
37、TODAY
返回今天的日期,动态函数。
38、NOW
返回当前的时间,动态函数。
39、YEAR
功能:返回日期的年份。
40、MONTH
功能:返回日期的月份。
41、DAY
功能:返回以序列数表示的某日期的天数。
42、WEEKDAY
功能:返回对应于某个日期的一周中的第几天。默认情况下,天数是 1(星期日)到 7(星期六)范围内的整数。
语法:=Weekday(指定时间,参数)
43、Datedif
功能:计算两个日期之间相隔的天数、月数或年数。
语法:=Datedif(开始日期,结束日期,参数)