为什么要学习Excel?首先,Excel是一个好用的工具,并不会因为你会Python而成为数据分析师,而是能用任何工具解决实际的业务问题,其次,Excel因为其简单易用,而受到人们的青睐。一般学习数据分析,都是以了解Excel函数为基础,以Excel函数的学习为基础,对于后续SQL、Python、DAX函数有很好的帮助,对于概念性的东西加深理解。

对于Excel的学习有一个误区,大多数人认为Excel只要会复制粘贴以及筛选数据就可以,但实际上,Excel在数据分析中有很大的作用,需要多种Excel函数嵌套使用,并搭配数据透视表功能,以及Excel高级图表制作,举一个Excel文本清洗的例子,测验一下你是否真正掌握Excel,如下分别提取货号和销售单编号里的字母和数字,一起试试吧!

基本的excel数据分析方法(数据分析师必备的五类Excel数据分析函数)(1)

提取货号字母

=LEFT(C2,3)

提取货号数字

=RIGHT(C2,4)

提取单号字母

=LEFT(D2,FIND("-",D2)-1)

提取单号数字

=MID(D2,FIND("-",D2) 1,100)

基本的excel数据分析方法(数据分析师必备的五类Excel数据分析函数)(2)

以上引入了Excel函数学习,本章节整理了在数据分析中常用的EXCEL函数,包含文本清洗类、关联匹配类、逻辑运算类、计算统计类、时间序列类五类,针对不同的函数,进行归类和汇总,每一个EXCEL函数均包含内置参数以及参数使用说明,下面一起来学习。

基本的excel数据分析方法(数据分析师必备的五类Excel数据分析函数)(3)

一、文本清洗类

Find

检索字符位置(区分大小写)

FIND(find_text,within_text,start_num) FIND(要查找的内容加引号或单元格,查找区域(单元格),从几个字开始查找)

Substitute

检索替换文本

SUBSTITUTE(text,old_text,new_text,instance_num) SUBSTITUTE(目标单元格,旧内容,新内容,替换第几个或全替换)

Left

从一个文本字符串的第一个字符开始,截取指定数目的字符

LEFT(text,num_chars) LEFT(目标单元格,从内容的左边开始截取指定的字的个数)

Right

从一个文本字符串的最后一个字符开始,截取指定数目的字符

RIGHT(text,num_chars) RIGHT(目标单元格,从内容的右边开始截取指定的字的个数)

Mid

从一个文本字符串的指定位置开始,截取指定数目的字符

MID(text,start_num,num_chars) MID(目标单元格,内容的左边指定开始位置,指定截取的字的个数)

Text

将数值转换成自由的显示格式文本

TEXT(value,format_text) TEXT(源数据,要显示的方式代码)

Concatenate

将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中

CONCATENATE(text1,text2,……) CONCATENATE(目标单元格或加引号的文本1,目标单元格或加引号的文本2,……)

Trim

删除多余的空格字符

TRIM(text) TRIM(目标单元格)

Replace

替换指定字符数的文本

REPLACE(old_text,start_num,num_chars,new_text) REPLACE(替换其部分字符的文本,是要用new_text替换的old_text中字符的位置,替换中字符的个数,要用于替换文本)

Len

统计文本字符串中字符数目(计算文本的长度)

LEN(text) LEN(目标单元格)

二、关联匹配类

Lookup

搜索单行、单列、区域、查找对应值

向量形式LOOKUP(lookup_value,lookup_vector,result_vector) 向量形式LOOKUP(条件,含条件的搜索区域,对应的搜索区域) 数组形式LOOKUP(lookup_value,array) 数组形式LOOKUP(条件,搜索的区域)

Row

返回行序号

ROW(reference) ROW(目标单元格)

Vlookup

按照垂直方向搜索区域

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) VLOOKUP(要查找的内容,搜索的区域,从查找区域首列开始到要找的内容的列数,指定是近似匹配还是精确匹配查找方式)

Column

返回序列号

COLUMN(reference) COLUMN(目标单元格)

Index

返回行和列交叉位置的值

INDEX(array,row_num,column_num) INDEX(单元格区域或数组常量,行序号,列序号)

Offset

计算指定位置的单元格引用

OFFSET(reference,rows,cols,height,width) OFFSET(起始坐标,从坐标开始算的行数,从坐标开始算的列数,高,宽)

Match

返回搜索值的相对位置

MATCH(lookup_value,lookup_array,match_type) MATCH(查找条件,查找区域,查找方式)

Hyperlink

创建超链接

HYPERLINK(link_location,friendly_name) HYPERLINK(目标地址或单元格引用,显示说明或单元格引用)

三、逻辑运算类

And

检测所有的条件是否为真

AND(logical1,logical2,……logical30) AND(要判断的单元格)

Or

检测任意一项条件是否为真

OR(logical1,logical2,……logical30) OR(要判断的单元格)

IF

根据条件满足与否返回不同的值

IF(logical_test,value_if_true,value_if_false) IF(条件,条件满足时时返回的值,条件不满足时返回的值)

Not

对表示条件的参数的逻辑值求反

NOT(logical) NOT(要判断的单元格)

True

表示总是为真

TRUE() 不需要参数

False

表示总是为假

FALSE() 不需要参数

四、计算统计类

Sum

求和计算

SUM(number1,number2, ...) SUM(列名) SUM(行名) SUM(单个或多个单元格) SUM(列的名称 如:AA) SUM(行的名称 如:1:1)

Rank

计算位置(排位)

RANK(number,ref,order) RANK(要判断的单元格,查找的区域,1为最小数排第一0为最大数排第一)

Sumif

对满足条件的单元格的数值求和

SUMIF(range,criteria,sum_range) SUMIF(要找的内容所在的区域,要找的内容,与要找的内容所在的区域对应的数值区域)

Sumproduct

先计算多个数组的元素之间的乘积再求和

SUMPRODUCT(array1,array2,……array30) SUMPRODUCT(数据1,数据2,……,数据30)

Rand

产生大于或等于0且小于1的随机数

RAND() RAND()不需要参数

Randbetween

产生指定数值之间的随机数

RANDBETWEEN(bottom,top) RANDBETWEEN(最小整数,最大整数)

Substotal

计算各种总计值

SUBTOTAL(function_num,ref1,ref2,……ref29) SUBTOTAL(计算方式,要计算的区域)

Countif

计算满足条件的单元格计数

COUNTIF(range,criteria) COUNTIF(要找的内容所在的区域,要找的内容)

Averagea

计算所有数据的平均值

AVERAGEA(value1,value2,...) AVERAGEA(单元格或单元格区域)

Int

将数值向下舍入为最接近的整数

INT(number) INT(要转换的单元格)

Max

计算数值的最大值

MAX(单元格或单元格区域) MAXA(单元格或单元格区域)

Min

计算数值的最小值

MIN(number1,number2,...) MIN(单元格或单元格区域)

Quartile

计算四分位数

QUARTILE(array,quart) QUARTILE(数字区域,指定在哪个位置)

Round

根据指定的位数位置四舍五入

ROUND(number,num_digits) ROUND(目标单元格,要保留位数)

五、时间序列类

Year

从日期中提取出"年"

YEAR(serial_number) YEAR(要查的单元格)

Month

从日期中提取出"月"

MONTH(serial_number) MONTH(要查的单元格)

Weekday

计算除了周末和节假日之外的日期

WORKDAY(start_date,days,holidays) WORKDAY(指定日期,几个工作日,自己特定的非工作日)

Weeknum

计算从1月1日算起的第几个星期

WEEKNUM(serial_num,return_type) WEEKNUM(日期,2)

Day

从日期中提取出"日"

DAY(serial_number) DAY(要查的单元格)

Date

从年、月、日来计算日期

DATE(year,month,day) DATE(年,月,日)

Now

计算当前的日期和时间

NOW() NOW()该函数没有参数,但必须要有()

Today

计算当前的日期

TODAY() TODAY()返回当前的日期

,