商业数据分析从入门到入职(3)Excel进阶应用

CuterCorley
• 阅读 1588

一、数据分类汇总与验证

1.分类汇总

Excel中的数据可以通过组合实现折叠部分数据,还可以打开数据,如下: 商业数据分析从入门到入职(3)Excel进阶应用

如需获取数据进行测试学习,可以直接点击加QQ群 商业数据分析从入门到入职(3)Excel进阶应用963624318 ,在群文件夹商业数据分析从入门到入职中下载即可。

有很多时候,需要对某一类数据进行汇总,如产品分类为Technology的订单的总销售额为多少,如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,要进行分类汇总,需要先进行排序; 在完成分类汇总后,自动实现组合,分为3个等级,1级为所有行的Sales总计,2级为三个商品种类的Sales汇总,3级为所有订单信息; 要想将汇总结果复制到其他地方,需要在定位条件中选择可见单元格

也可以删除分类汇总,如下: 商业数据分析从入门到入职(3)Excel进阶应用

还可以进行多个汇总,如下: 商业数据分析从入门到入职(3)Excel进阶应用

分类汇总可以自动生成一列数据,可以更快速地定位单元格。

这可以应用到给多个多行单元格合并,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,实现了预期的效果。

2.数据有效性与保护工作表

还可以对数据输入进行限制,如果不合法则不允许输入,此时需要验证数据的有效性。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,可以进行数值范围限制; 可以提供选项进行选择; 可以限制位数; 还可以修改提示弹出框; 同时,只有在输入、编辑时才会触发输入限制。

这个特性可以用来限制其他用户改写数据,即保护工作表,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,此时修改数据都会报错。

二、公式与函数

1.公式与函数基本使用

公式用=开始,简单使用如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,实现了两个数的相加,但是要加的数很多时,如果手动输入,显然会很麻烦。 此时需要用新的工具进行计算,即函数,如求和就用sum()函数,如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,不仅支持求和计算,而且在数据改变之后,结果也会同步改变,并且可以复制函数到其他位置。

Excel公式的组成部分: 函数、引用、运算符和常量。 比如对于公式=PI()*A@^2: 组成部分包括:

  • 函数 如PI()函数返回pi值3.14159...。
  • 引用 如A2返回单元格A2中的值。
  • 常量 直接输入到公式中的数字或文本值,例如2。
  • 运算符 ^运算符表示数字的乘方,而*运算符表示数字的乘积。

&是连字符,可以连接两个文本,如下: 商业数据分析从入门到入职(3)Excel进阶应用

在Excel中也有真和假,即TRUE和FALSE,TRUE对应1,FALSE对应0。

对一列根据条件进行不同赋值,如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,TRUE和FALSE可以参与运算; 在使用表格中的值代替常量进行计算时,出现了引用的问题,默认一般是相对引用,即在进行填充时一般是使用的相同行对应列的数据,如=(A3<>"中部地区")*8+K3=(A4<>"中部地区")*8+K4,而此时K4位置的值为空,数值时默默认为0,因此结果为8; 此时要想达到目标,需要使用绝对引用,即使用K3位置的值,此时只需要在行列序号前加$符号即可,可以选中K3按快捷键F4即可实现,变为=(A3<>"中部地区")*8+$K$3=(A4<>"中部地区")*8+$K$3等。

还可以进行混合引用,即位置的行和列中只有一个改变,另一个不改变,不改变的用$修饰。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,通过混合引用实现了打印九九乘法表。

函数基本用法如下: 商业数据分析从入门到入职(3)Excel进阶应用

计算并填充空值如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,要填充的值都是左边第二个数除以左边第一个数,所以能一次性计算出来。

但是很多时候,数据不是这么分布的,就得灵活应变,如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,此时用到了自动求和工具。

2.逻辑判断IF

之前判断是否是中部地区并根据两种情况计算是使用TRUE和FALSE实现的,也可以使用IF来实现。

if判断的简单使用如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,如果区域为中部地区,销售单价即为建议单价,否则为建议单价+8.

还可以进行嵌套使用: 商业数据分析从入门到入职(3)Excel进阶应用

还可以进行更复杂的嵌套,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,if的结果可以进行相加等运算。

除了使用if嵌套,还可以使用连字符&,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,连字符也能实现同样的效果,并且用到了逻辑运算且运算AND

有时候出现错误时,会出现错误提示,可以根据需要进行调整,使用IFERRORIFNAISERROR等。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

现以退休为例进一步说明逻辑判断的优化: 企业职工退休年龄是男年满60周岁; 女工人年满50周岁,女干部年满55周岁。

那么可能有以下几种情况: 满60岁男职工,退休; 60岁以下男职工,不退休; 满50岁女职工,退休; 50岁以下女职工,不退休; 满55岁女干部,退休; 55岁以下女干部,不退休;

要使用一般的if判断,可能要嵌套很多if语句,但是其实是可以简化的,因为IF判断的实质就是条件为TRUE执行一种情况、为FALSE时执行另一种情况,因此可以简单将退休与否分为退休和不退休,其中>60岁且是 男>50岁且是女职工或者>55岁且是女干部属于退休,其他均属于不退休,此时可以如下: 商业数据分析从入门到入职(3)Excel进阶应用

因此在最终产生的结果只有两种情况时,可以采用这种方式。

3.COUNTIF

COUNTIF用于根据条件进行计数,符合某个条件则计数,否则不计数,类似的用法还包括COUNTIFSSUMIF等。

简单使用如下: 商业数据分析从入门到入职(3)Excel进阶应用

计数时使用较复杂的条件如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,有多个条件时,可以分别计数再进行算术计算。

有多个条件要满足时,还可以使用COUNTIFS,如下: 商业数据分析从入门到入职(3)Excel进阶应用

此时可以根据多个条件进行计数。

4.COUNTIF应用

重复验证

很多时候会出现重复数据,这是可以对数据进行计数,如果计数大于1则说明出现了重复。

如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,数据为文本型数据,在进行计数时会根据前15位进行计数,因此在对A3、A11、A12进行计数时会重复,此时可以通过在后面连接通配符解决。

还可以限制输入重复数据,这是结合数据验证实现的,如下: 商业数据分析从入门到入职(3)Excel进阶应用

报名统计

有一个联系人名单,其中有部分已报名,也有对应的名单,根据已报名名单对所有联系人名单进行统计,是否报名,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,很快自动统计出是否报名; 这是通过IFCOUNTIF结合使用实现的,Excel中结合各种工具可以实现很丰富的功能。

还可以填充颜色,需要使用到条件格式商业数据分析从入门到入职(3)Excel进阶应用

可以看到,对符合条件的数据进行了筛选; 同时数据发生变化时,结果也会同步变化。

5.SUMIF

COUNTIF类似,SUMIF是根据条件进行求和的,简单使用如下: 商业数据分析从入门到入职(3)Excel进阶应用

待求和数据所在的列和条件所在的列不是同一列时,稍微复杂一点,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,此时需要传递3个参数,才能求和。

还可以根据多个条件进行求和,有多种方式,一种方式是增加辅助列拼接两个条件,再进行求和,如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,计算出来的结果是依赖于辅助列的,如果删除或修改辅助列,结果也会发生变化。

还有一种方式是直接使用SUMIFS函数,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,得到了同样的结果。

还可以进行更加灵活的使用,如简写参数,如下: 商业数据分析从入门到入职(3)Excel进阶应用

此时也可以求出结果,这范围选择了全部数据,才可以这么简写,一般条件下应该慎重选择这种方式。

对于一定的库存,需要限制出货量不能超过库存,这也可以通过SUMIF来实现,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,实现了通过SUMIF来限制输入的效果。

三、VLOOKUP的使用

1.VLOOKUP的基本用法

Excel中的VLOOKUP函数一般用于在表格或区域中按行查找内容,如下:

VLOOKUP(lookup_value,table_array,col_index_num, [range_lookup])

意义如下:

VLOOKUP (你想要查找的内容,要查找的位置,包含要返回的值的区域中的列号,返回近似或精确匹配-表示为 1/TRUE或0/FALSE)

通俗一点,参数即为找什么、去哪找、具体结果、精确/模糊; 会从查找区域的最左边的列查找; 当存在多条满足条件的记录时,只能返回第1条满足条件的记录; 区域包括所有查找部分以及结果部分

简单使用示意如下: 商业数据分析从入门到入职(3)Excel进阶应用

再如: 商业数据分析从入门到入职(3)Excel进阶应用

显然,可以实现查找。

vlookup还可以实现嵌套查找,即联合两张表查找,如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,通过嵌套VLOOKUP,实现了两张表的联合查找。

也可以实现多匹配,即查找多个条件,可以通过添加辅助列实现,如下: 商业数据分析从入门到入职(3)Excel进阶应用

需要注意,辅助列要加在第一列,否则会查找失败。

2.跨表和跨文件查找

VLOOKUP还可以实现跨表查找,即查询涉及两个或多个工作表。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

有时候要查询的数据在选中的范围中不能完全匹配、而只是其中的一部分,此时可以选择拼接通配符字符串。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

除了跨表,还可以实现跨文件,如下: 商业数据分析从入门到入职(3)Excel进阶应用

3.模糊查找

之前都是的查找方式都是精确查找,即最后一个参数为0,其实还可以为1,即模糊查找。

模糊查找可以用于区间查找,需要区间是有序的,查找的原理是二分查找。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

还可以用于打标签,如下: 商业数据分析从入门到入职(3)Excel进阶应用

4.文本VLOOKUP和HLOOKUP

在进行查找时,如果被查找的数据或者选中的区域中有文本形式的数字时,需要进行类型转换,如: 数字转换成文本时,用连字符连接一个空字符串; 文本转化成数字时,用*1+0--等方式。

如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,是通过if条件判断来实现的; 同时需要转换数据类型。

除了VLOOKUP用于纵向查找,还有HLOOKUP用于横向查找,两者可以结合使用。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

显然,使用了HLOOKUP后,可以实现同步更新。

5.Match和Index

MatchVLOOKUP用法类似,返回的是行和列的序号; Index用于根据行和列查找数据; 两者可以结合使用,先用Match定位,再用Index查找,这比VLOOKUP的应用更广,可以进行反向查找,即要查找的数据不在选中区域的第一列。

两者的简单使用如下: 商业数据分析从入门到入职(3)Excel进阶应用

两者结合使用如下: 商业数据分析从入门到入职(3)Excel进阶应用

此时,可以通过后面查找前面,避开了VLOOKUP的限制。

6.返回多列

VLOOKUP也可以和Match结合使用,可以实现返回多列的效果。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

需要注意,这里要使用混合引用,否则会出错。

再如: 商业数据分析从入门到入职(3)Excel进阶应用

VLOOKUP一般只会返回查询到的第一条数据,但是可以增加辅助列为相同数据进行排序、拼接成唯一的值,从而满足VLOOKUP的条件。 如下: 商业数据分析从入门到入职(3)Excel进阶应用

7.数组与多匹配

使用数组的方式实现VLOOKUP的多匹配,如下: 商业数据分析从入门到入职(3)Excel进阶应用

需要注意,此时因为涉及到数组,不能直接按Ctrl,而应该是Ctrl+Shift+Enter,才能正常查询到值; =VLOOKUP(E4&F4,IF({1,0},A2:A13&B2:B13,C2:C13),2,0)中,IF({1,0},A2:A13&B2:B13,C2:C13)即是一个数组,包含两列,第一列是A列和B列的连接,第二列是C列,如下: 商业数据分析从入门到入职(3)Excel进阶应用

可以看到,利用公式和函数隐性地生成了两列的数组。

还可以生成其他形式的数组,如下: 商业数据分析从入门到入职(3)Excel进阶应用

需要注意,都是按Ctrl+Shift+Enter得出的。

这可以用于求各行乘积的总和,而不需要先计算各行的乘积,如下: 商业数据分析从入门到入职(3)Excel进阶应用

本文原文首发来自博客专栏数据分析,由本人转发至https://www.helloworld.net/p/deQ5Fj9sJni51,其他平台均属侵权,可点击https://blog.csdn.net/CUFEECR/article/details/108596160查看原文,也可点击https://blog.csdn.net/CUFEECR浏览更多优质原创内容。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Wesley13 Wesley13
3年前
4cast
4castpackageloadcsv.KumarAwanish发布:2020122117:43:04.501348作者:KumarAwanish作者邮箱:awanish00@gmail.com首页:
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这