Excel是我们工作中经常使用的一种工具,对于资料分析来说,这也是处理数据最基础的工具。很多传统行业的数据分析师甚至只要掌握Excel和SQL即可。
对于初学者,有的时候并不需要急于苦学R语言等专业工具(当然会也是加分项),因为Excel涵盖的功能足够多,也有很多统计、分析、可视化的插件。只不过我们平时处理数据的时候很多函式都不知道怎么用。
关于Excel的进阶学习,主要分为两块:一个是数据分析常用的Excel函数,另一个分享用Excel做一个简单完整的分析。
这篇文章主要介绍资料分析常用的43个Excel函式及用途,实战分析将在下一篇讲解。
关于函式:
Excel的函式实际上就是一些复杂的计算公式,函式把复杂的计算步骤交由程序处理,只要按照函式格式录入相关参数,就可以得出结果。如求一个区域的和,可以直接用SUM(A1:C100)的形式。
所以对于函式,不用刻意记刻意背,只要知道比如「选取字段,用Left/Right/Mid」函式,并且需要哪些参数怎么用就行了,复杂的就交给万能的baidu吧。
函式分类:
关联匹配类
清理处理类
逻辑运算类
计算统计类
时间序列类
经常性的,需要的数据不在同一个excel表或同一个excel表不同sheet中,数据太多,copy麻烦也不准确,如何整合呢?这类函式就是用于多表关联或者列栏比对时的场景,而且表越复杂,用得越多。
函式HLOOKUP和VLOOKUP都是用来在表格中查找数据。
功能:用于查找首列满足条件的元素。
语法:=VLOOKUP(要查找的值,要在其中查找值的区域,区域中包含返回值的列号,精确匹配或近似匹配 — 指定为 0/FALSE 或1/TRUE)。
功能:搜索表的顶行或值的数组中的值,并在表格或数组中指定的栏的同一lan中返回一个值。
语法:=VLOOKUP(要查找的值,要在其中查找值的区域,区域中包含返回值的行号,精确匹配或近似匹配 — 指定为 0/FALSE 或1/TRUE)。
区别:HLOOKUP返回的值与需要查找的值在同一列上,而VLOOKUP返回的值与需要查找的值在同一行上。
功能:返回表格或区域中的值或引用该值。
语法:= INDEX(要返回值的单元格区域或数组,所在列,所在栏)
功能:用于返回指定内容在指定区域(某列或者某栏)的位置。
语法:= MATCH (要返回值的单元格区域或数组,查找的区域,查找方式)
功能:求某一个数值在某一区域内一组数值中的排名。
语法:=RANK(参与排名的数值, 排名的数值区域, 排名方式-0是降序-1是升序-默认为0)。
功能:返回单元格所在的列
功能:返回单元格所在的栏
功能:从指定的基准位置按列栏偏移量返回指定的引用
语法:=Offset(指定点,偏移多少列,偏移多少栏,返回多少列,返回多少栏)
数据处理之前,需要对提取的数据进行初步清理,如清除字符串空格,合并单元格、替换、截取字符串、查找字符串出现的位置等。
清除字符串空格:使用Trim/Ltrim/Rtrim
合并单元格:使用concatenate
截取字符串:使用Left/Right/Mid
替换单元格中内容:Replace/Substitute
查找文本在单元格中的位置:Find/Search
功能:清除掉字符串两边的空格
功能:清除单元格右边的空格
功能:清除单元格左边的空格
语法:=Concatenate(单元格1,单元格2……)
合并单元格中的内容,还有另一种合并方式是&,需要合并的内容过多时,concatenate效率更快。
功能:从左截取字符串
语法:=Left(值所在单元格,截取长度)
功能:从右截取字符串
语法:= Right (值所在单元格,截取长度)
功能:从中间截取字符串
语法:= Mid(指定字符串,开始位置,截取长度)
功能:替换掉单元格的字符串
语法:=Replace(指定字符串,哪个位置开始替换,替换几个字符,替换成什么)
和replace接近,不同在于Replace根据位置实现替换,需要提供从第几位开始替换,替换几位,替换后的新的文本;而Substitute根据文本内容替换,需要提供替换的旧文本和新文本,以及替换第几个旧文本等。因此Replace实现固定位置的文本替换,Substitute实现固定文本替换。
功能:查找文本位置
语法:=Find(要查找字符,指定字符串,第几个字符)
功能:返回一个指定字符或文本字符串在字符串中第一次出现的位置 ,从左到右查找
语法:=search(要查找的字符,字符所在的文本,从第几个字符开始查找)
Find和Search这两个函式功能几乎相同,实现查找字符所在的位置,区别在于Find函式精确查找,区分大小写;Search函式模糊查找,不区分大小写。
功能:文本字符串的字符个数
功能:返回文本中所包含的字符数
功能:使用逻辑函式 IF 函式时,如果条件为真,该函式将返回一个值;如果条件为假,函式将返回另一个值。
语法:=IF(条件, true时返回值, false返回值)
功能:逻辑判断,相当于「并」。
语法:全部参数为True,则返回True,经常用于多条件判断。
功能:逻辑判断,相当于「或」。
语法:只要参数有一个True,则返回Ture,经常用于多条件判断。
在利用excel表格统计数据时,常常需要使用各种excel自带的公式,也是最常使用的一类。重要性不言而喻。不过excel都自带快捷功能。
MIN函式:找到某区域中的最小值
MAX函式:找到某区域中的最大值
AVERAGE函式:计算某区域中的平均值
COUNT函式: 计算某区域中包含数字的单元格的数目
COUNTIF函式:计算某个区域中满足给定条件的单元格数目
COUNTIFS函式:统计一组给定条件所指定的单元格数
SUM函式:计算单元格区域中所有数值的和
SUMIF函式:对满足条件的单元格求和
SUMIFS函式:对一组满足条件指定的单元格求和
SUMPRODUCT函式:返回相应的数组或区域乘积的和
功能:找到某区域中的最小值
功能:找到某区域中的最大值
功能:计算某区域中的平均值
功能:计算含有数字的单元格的个数。
功能:计算某个区域中满足给定条件的单元格数目
语法:=COUNTIF(单元格1: 单元格2 ,条件)
比如=COUNTIF(Table1!A1:Table1!C100, 「YES」 ) 计算Table1中A1到C100区域单元格中值为」YES」的单元格个数
功能:统计一组给定条件所指定的单元格数
语法:=COUNTIFS(第一个条件区域,第一个对应的条件,第二个条件区域,第二个对应的条件,第N个条件区域,第N个对应的条件)
比如:=COUNTIFS(Table1!A1: Table1!A100, 「YES」,Table1!C1: Table1!C100, 「NO」 ) 计算Table1中A1到A100区域单元格中值为」YES」,而且同时C区域值为」NO」的单元格个数
计算单元格区域中所有数值的和
功能:求满足条件的单元格和
语法:=SUMIF(单元格1: 单元格2 ,条件,单元格3: 单元格4)
功能:对一组满足条件指定的单元格求和
语法:=SUMIFS(实际求和区域,第一个条件区域,第一个对应的求和条件,第二个条件区域,第二个对应的求和条件,第N个条件区域,第N个对应的求和条件)
比如=SUMIFS(Table1!C1:Table1!C100,Table1!A1: Table1!A100, 「YES」 ,Table1!B1:Table1B100, 「NO」 ) 计算Table1中C1到C100区域,同时相应行A列值为」YES」,而且对应B列值为」NO」的单元格的和。
功能:返回相应的数组或区域乘积的和
语法: =SUMPRODUCT(单元格1: 单元格2 ,单元格3: 单元格4)
比如:=SUMPRODUCT(Table1!A1:Table1!A100, Table2!B1Table2!B100) 计算表格1的A1到A100与表格2的B1到B100的乘积和,即A1B1+A2B2+A3*B3+…
统计型函式,求标准偏差。
语法:=Substotal(引用区域,参数)
汇总型函式,将平均值、计数、最大最小、相乘、标准偏差、求和、方差等参数化,换言之,只要会了这个函式,上面的都可以抛弃掉了。
取整函式,int向下取整,round按小数位取数。
round(3.1415,2)=3.14 ;
round(3.1415,1)=3.1
专门用于处理时间格式以及转换。
返回今天的日期,动态函式。
返回当前的时间,动态函式。
功能:返回日期的年份。
功能:返回日期的月份。
功能:返回以序列数表示的某日期的天数。
功能:返回对应于某个日期的一周中的第几天。 默认情况下,天数是 1(星期日)到 7(星期六)范围内的整数。
语法:=Weekday(指定时间,参数)
功能:计算两个日期之间相隔的天数、月数或年数。
语法:=Datedif(开始日期,结束日期,参数)
有话要说...