【数据分析】【EXCEL】(戴师兄)
excel+数据分析
【业务】
分析数据的目的是什么:
1. 及时发现异常
2. 找到数据之间的因果关系
数据分析一.1 常见九种业务拆解法_流程拆解法-CSDN博客
目录
【IF】&嵌套(根据指定的条件进行判断,如果条件成立返回一个值,否则返回另一个值。)
【VLOOKUP】在表格的首列查找指定的值,并返回该值所在行中指定列的数据
【MATCH】在指定的单元格区域中查找特定的值,并返回该值在区域中的相对位置。
【EXCEL】
拿到表格第一件事备份+筛选查看表格基本信息,计数等
EXCEL 筛选快捷键:CTRL+SHIFT+L
数字型靠右 文本型靠左
同比:(本期数 - 同期数)/ 同期数 = 本期数/同期数 - 1
环比:(本期数 - 上期数)/ 上期数 = 本期数/上期数 - 1
YEAR(serial_number) 指YEAR(日期)
MONTH(serial_number)
DAY(serial_number)
DATE(YEAR,MONTH,DAY)
每个月第一天:date(year(serial_number),month(serial_number),1)
每个月最后一天:date(year(serial_number),month(serial_number) + 1, 1) - 1
【创建数据透视表】
做周报一般先建好格式,再引用数据透视表算好的数值,不直接使用
引用数据透视表的值需要锁定 F4 $
数据透视表+数据透视图
1. 插入数据透视表:选中源数据(在原表中随意点击一个单元格),点击插入-数据透视表,确定,即新建一张数据透视表
2. 拖拽字段进行计算和重命名:
将文本型字段拖到行、数值型字段拖到值,透视表会自动进行运算
双击字段名称,可以重命名,并且选择计算的类型,Excel默认的计算方式是求和
3. 创建新的字段:选中数据透视表-点击数据透视表分析选项卡-进入功能区-在计算部分找到字段-项目和集,点击插入计算字段
4. 插入切片器:
在数据透视表分析功能区,在筛选部分找到插入切片器,选择字段作为切片器
迪纳基切片器的选项,数据会自动地根据切片器的选项进行计算
除了切片器的筛选,还可以直接将字段拖拽到数据透视表中“筛选”
筛选只能在透视表内使用,而切片器可以复制到任意工作表使用
5. 插入数据透视图:
点击功能区的工具-数据透视图就可以直接插入图表,确定
右键绘图区可以“更改图表类型”,选择“组合图”可以直观地两个或多个数值
一张透视表可以插入多张透视图,并且数据透视表和透视图都可以通过切片器控制,即用切片器轻松实现图表的联动
补充:【数据透视表四个区域功能介绍】
Excel 数据透视表教程:数据透视表 4 个区域及其变化规律 - 懒人Excel
【数据透视表四个区域及其变化规律】:
4 个区域分别是筛选、列、行、值。它们分别控制透视表的数据范围、列分布、行分布、汇总数据及汇总方式。
“ 筛选 ” 区域:筛选区域控制透视表的数据范围,即通过筛选区域可以直接控制在其他三个区域中哪些数据可以出现、哪些数据不出现(相当于WHERE\HAVING)
具体的筛选方法与普通的表格数据筛选类似,点击右侧向下箭头,在弹出的列表中选择筛选。与普通筛选方式一样,有 3 种筛选方式:单选筛选、多选筛选和搜索筛选。
值得注意的是,放入筛选区域的字段,无法重复放入列和行区域。如果放入列和行区域,那么自动被从筛选区域中移除。所以根据实际报表需求,决定放置在哪个区域。
“ 行 ” 和 “ 列 ” 区域:
这两个区域可以说是相同的,只是分布方向不相同。行区域垂直排列,列区域水平排列。
行和列区域的作用是,将放入的字段按照垂直或水平方向上展开显示。当行或列区域放入 1 个以上的字段时,将按照放入排序,嵌套展开显示,排在前面的字段先展开。
与筛选区域一样,行和列区域也可以进行筛选。此外,行和列区域还能对字段内容进行排序。
“ 值 ” 区域:
值区域就是统计的数据区域。通过值区域,可以选择统计的数据和统计方式。
不像其他三个区域,在值区域可以多次重复放入同一个字段,得到同一个数据的不同种统计结果。(如取计数、平均数、最大值、最小值)常规的数据统计方式有计数、求和、最大小值等。修改统计方式的方法是:选中值区域的任意一单元格,右键,其中选择「值汇总依据」。
【常用函数】
使用常见函数时:
到原表中工具栏点击视图-新建窗口,拉下来可以变成一个小窗口方便查看
还可以冻结窗格使首行/某行/某列不再动
【SUM】用于计算一组数值的总和
语法:SUM(number1,[number2,...])
,其中number1
、number2
等是要相加的数值或单元格区域。
示例:如果要计算 A1 到 A5 单元格内数值的总和,可以在其他单元格输入=SUM(A1:A5)
。
【SUMIF】根据指定条件对满足条件的单元格进行求和。
语法:SUMIF(range,criteria,[sum_range])
,range
是用于条件判断的单元格区域,criteria
是指定的条件,sum_range
是要进行求和的实际单元格区域(如果省略,则对range
区域进行求和)。
示例:假设 A 列是产品名称,B 列是对应的销售额,要计算产品为 “苹果” 的销售额总和,可输入=SUMIF(A:A,"苹果",B:B)
【SUMIFS】对满足多个条件的单元格进行求和。
语法:SUMIFS(sum_range,criteria_range1,criteria1,[criteria_range2,criteria2],...)
,sum_range
是求和的实际单元格区域,criteria_range1
、criteria_range2
等是条件判断的单元格区域,criteria1
、criteria2
等是对应的条件。
示例:若 A 列是产品名称,B 列是销售额,C 列是销售地区,要计算产品为 “苹果” 且销售地区为 “华东” 的销售额总和,可输入=SUMIFS(B:B,A:A,"苹果",C:C,"华东")
。
【SUM】和【SUBTOTAL】区别
SUM函数简单地对指定区域内的所有数值进行求和,不会忽略任何数据,对指定区域求和后无法随筛选改变。
SUBTOTAL函数可以跟随筛选进行改变,相当于一个自动根据筛选进行的求和
【IF】&嵌套(根据指定的条件进行判断,如果条件成立返回一个值,否则返回另一个值。)
语法:IF(logical_test,value_if_true,value_if_false)
,logical_test
是要进行判断的条件,value_if_true
是条件成立时返回的值,value_if_false
是条件不成立时返回的值。
嵌套 if 函数:当一个条件判断不够时,可以使用多个 if 函数嵌套,以实现更复杂的条件判断和结果返回。例如,根据学生成绩划分等级,=IF(A1>=90,"优秀",IF(A1>=80,"良好",IF(A1>=60,"及格","不及格")))
,这里根据 A1 单元格的成绩进行判断,如果大于等于 90 分,返回 “优秀”,以此类推。
【VLOOKUP】在表格的首列查找指定的值,并返回该值所在行中指定列的数据
语法:VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
,lookup_value
是要查找的值,table_array
是要查找的表格区域,col_index_num
是返回值所在的列数(从table_array
的首列开始计数),range_lookup
是一个逻辑值,用于指定查找方式(精确查找0/FALSE或近似查找1/TRUE)。
示例:在 Sheet1 的 A 列到 C 列有员工信息(A 列为员工编号,B 列为员工姓名,C 列为员工部门),在 Sheet2 的 A 列输入员工编号,要在 B 列返回对应的员工姓名,可在 Sheet2 的 B2 单元格输入=VLOOKUP(A2,Sheet1!A:C,2,FALSE)
,然后向下填充。
【VLOOKUP】模糊查询
功能:当range_lookup
参数设置为TRUE
或省略时,vlookup
进行模糊查找。它会在查找区域的首列中查找小于或等于查找值的最大值,并返回对应行中指定列的数据。常用于查找某个区间对应的结果,例如根据成绩区间查找对应的等级。
示例:假设 A 列是成绩区间下限(如 0、60、80 等),B 列是对应的等级(如不及格、及格、良好等),要根据 C 列的成绩查找对应的等级,可输入=VLOOKUP(C2,A:B,2,TRUE)
。
对文本进行模糊查询 通配符:
* :代替不定数量的字符
? :(英文输入状态下)代替一个字符
在作为匹配条件的数值后加上通配符即可。例如,要匹配以 a 开头的数值,加上&"*"
;要匹配以 b 开头且一共三个字符所对应的数值,加上&"???"
,后面有几位字符就加几个问号。
如果有多个数值满足匹配条件,vlookup 只会返回匹配到的第一个数值,因为只有一个单元格只能放下一个数值。
【MATCH】在指定的单元格区域中查找特定的值,并返回该值在区域中的相对位置。
语法:MATCH(lookup_value,lookup_array,[match_type])
,lookup_value
是要查找的值,lookup_array
是查找的单元格区域,match_type
指定匹配类型(1 为小于等于查找值的最大值,0 为精确匹配,-1 为大于等于查找值的最小值)。
示例:在 A1 到 A10 单元格中有数据,要查找 “苹果” 在这个区域中的位置,可输入=MATCH("苹果",A1:A10,0)
,如果找到,返回其在该区域中的行数(相对位置)。
不需要像VLOOKUP一样手动输入数据在哪一列或者哪一行,MATCH函数会自己去找。
【INDEX】根据指定的行号和列号,返回表格或数组中的值。
语法:INDEX(array,row_num,[column_num])
,array
是要返回值的单元格区域或数组,row_num
是要返回值所在的行号,column_num
是要返回值所在的列号
(如果行或列省略或值为0,则返回整行/整列的数据)。
示例:在 A1 到 C10 单元格区域中,要返回第 3 行第 2 列的值,可输入=INDEX(A1:C10,3,2)
。
【INDEX 和 MATCH 组合自由匹配获取数据】 用于做报表,很重要
功能:index
和match
函数组合使用,可以实现更灵活的查找和数据获取,尤其是在查找条件不是在表格首列时,比vlookup
更具优势。
示例:假设 A 列是员工编号,B 列是员工姓名,C 列是员工部门,要根据员工姓名查找对应的员工编号,可输入=INDEX(A:A,MATCH("张三",B:B,0))
,这里先用match
函数查找 “张三” 在 B 列中的位置,然后用index
函数根据这个位置返回 A 列中对应的员工编号。
做周报基于原数据进行引用可以联动 注意是否锁定!!!
F 1匹配文本数据
- 原理:让 index 在源数据中根据 match 返回的位置找到对应的数据。
- 函数公式:
index(数据区域,match(行查找项,index数据区域的相对区域,0),match(列查找项,indexB数据区域的相对区域,0))
。其中,match 找到想要的数据的位置,index 负责返回这个位置的数值。
F 2匹配聚合运算数据
- 与 sumifs 函数结合:如果要进行聚合运算,只需和 sumifs 函数一起使用。因为 index 除了通过行列位置返回一个单元格的数值,还可以返回整行和整列。例如,行位置为 0,返回整列;列位置为 0,返回整行。这样可以让 match 识别所需计算的列所在的位置,然后让 index 函数返回位置上的整列给 sumifs 函数用于计算。
- 具体步骤:
- 先用 index 写出计算所用到的列。
- 准备好聚合运算所用到的列,将这一列作为 sumifs 进行计算的列。
- 最后回车,函数就可以实现基于列名和条件的自动求和,并且随便拖拽都可以计算。
【实战】大厂数据周报开发
更多推荐
所有评论(0)