这个系列的六篇文章,是《Microsoft 365 工具升值包》的 Excel 专题。
写在前面
Excel 在 Office 三件套中,是一个非常特殊的存在。一是它的功能繁多,虽然 Word 和 Powerpoint 的功能也不少,但 Excel 的功能是最多的,从入门到精通的学习曲线也更陡峭。另一方面,正是因为功能的繁多,导致它的可塑性也更强,用途更加广泛:管理人事名单,处理销售数据,展示动态的财务报表,制作各类工作生活中的模板……Excel 似乎无处不在。
这个系列的六篇文章,自然不可能把 Excel 面面俱到,也不可能一夜之间让你成为 Excel 的进阶高手。我在写作时,主要考虑了这两个核心原则:
- 从 Excel 最合适的场景入手:Excel 最核心的使用场景,自然还是面对「数据」的。如果从生命周期来看,数据可以分为收集、处理、分析、展示等几个环节。我在《高效收集数据》一文中提到过,Excel 并不是最理想的数据收集工具,因此,这个系列的主要脉络,是从数据处理、分析、展示入手的。在最后一篇中,还额外介绍了一下如何用 Excel 制作模板。
- 介绍实用但不一定为人熟知的功能、技巧:短短六篇文章,自然不可能穷尽 Excel 的所有功能。例如,像宏脚本编写这样的功能,学习曲线较高,使用频率却不一定高(大多数人即使真的用到宏,往往也是直接加载别人预先做好的宏脚本)。这个系列主要着眼于实用、但不一定为人熟知的功能和技巧。当然,这里面可能有些功能和技巧你已经知道,我会尽可能地通过场景与功能原理,让你在原来的基础上有更深入的理解。
下文中提到的示例,都在这个 Excel 表格中 高级筛选-示例.xlsx,你可以下载后对照着阅读,效果更佳。
从删除重复项开始,了解 Excel 的常见解题思路
在 Excel 中,经常遇到的一个场景是:如何快速删除重复项?进一步细分的话,会有两个子场景:
- 错误填写导致的重复:例如,公司使用在线表单收集员工信息,可能有人一不小心提交了两次,就会生成重复的数据,这时候导出的数据就需要删除重复项;
- 需要合并的重复:例如,在统计各渠道的书籍销量时,不同渠道的销量中,很多书籍都是一样的。这时候如果我们关心的是哪些书本畅销,想看到的就是去重后的结果。
针对第(1)类的因为错误导致的重复,非常简单,Excel 直接提供了「删除重复项」的选择,只需要选中数据源,切换到「数据」选项卡就可以找到。
和第(1)类的删除重复项不同,第(2)类因为合并而产生的去重需求,往往我们会希望保留原因数据,而不是粗暴地直接删除。这时候,有什么办法呢?
就像做数学题不止一种解法一样,要在 Excel 中做到这一点,同样有许多解题思路。做为这个系列的第一篇文章,我们就这一问题展开说说,在 Excel 中的「条条大路通罗马」,从而帮助你意识到,之后文章中提到的许多案例,你都可以自己思考:通过结合不同的功能点,会不会有更优的解法。
我们以这个表格为案例,如何在书籍销量的 Top 25 排名中,快速找到不重复的书籍清单。
排名 | 渠道 | 书籍名称 | 销量 |
---|---|---|---|
1 | 豆瓣 | 私人生活的变革 | 49733 |
2 | 豆瓣 | 把自己作为方法 | 49393 |
3 | 拼多多 | 父权制与资本主义 | 48304 |
4 | 豆瓣 | 末日松茸 | 46202 |
5 | 豆瓣 | 小径分岔的花园 | 43636 |
6 | 微信读书 | 人行道王国 | 42425 |
7 | Kindle | 中国的乡村生活 | 41599 |
8 | Kindle | 文明的进程 | 40995 |
9 | 京东 | 学做工 | 40320 |
10 | 拼多多 | 诗艺 | 38351 |
11 | 拼多多 | 中国的乡村生活 | 37616 |
12 | 京东 | 世界的苦难 | 35882 |
13 | 拼多多 | 世界的苦难 | 35744 |
14 | 淘宝 | 博尔赫斯谈话录 | 35068 |
15 | 微信读书 | 思想史中的日本与中国 | 26680 |
16 | Kindle | 恶棍列传 | 23597 |
17 | 淘宝 | 回归故里 | 22609 |
18 | 拼多多 | 给青年诗人的信 | 22358 |
19 | 淘宝 | 把自己作为方法 | 21964 |
20 | Kindle | 社会学的想象力 | 20969 |
21 | 微信读书 | 小径分岔的花园 | 19799 |
22 | 京东 | 把自己作为方法 | 18576 |
23 | 微信读书 | 学做工 | 15297 |
24 | 京东 | 博尔赫斯谈话录 | 13912 |
25 | 淘宝 | 现实的社会建构 | 12808 |
1. 新增函数辅助列:函数解题法
我们想知道,这销量前 25 名的书籍中,有多少是独一无二的,那么一个自然的解题思路,就是只保留每本书第一次出现的记录。
在 Excel 中处理数据,经常会用到的一个思路就是添加辅助列:通过新增一列,对现有的数据进行一系列的运算,从而得到相应的结果。具体到这个案例中,我们就是要统计每一行中的书名,出现的次数。
查看下图中的结果,以《中国的乡村生活》为例,第 8 行是它第一次出现,辅助列的值为 1;第 12 行是它第二次出现,辅助列的值为 2。
如果我们查看 E26 单元格中的函数,可以很容易理解这个公式:=COUNTIF($C$2:C26,C26)。
- COUNTIF(区域,条件值):COUNTIF 函数,是指在「区域」中,符合「条件值」的数据出现了几次。对于 E26 单元格来说,就是指在 C2:C26 区域中,出现了几次「现实的社会建构」。
- $ 符号:在 Excel 中,$ 符号表示绝对引用。也就是说,对于 E3 单元格,它只关心 C2:C3 区域中,出现了几次「把自己作为方法」,而对于 E22 单元格,则是 C2:C22 区域中,出现了几次「把自己作为方法」。你可以看到,C2 这个起点是不变的,加上 $ 符号号,只需要最开始的时候填充 E2 单元格,再向下填充公式就可以了。
有了这个辅助列,只需要简单的筛选一下,只展示值为 1 的行,就得到了唯一去重的书名目录了。
2. 使用数据透视步:现有功能曲线救国
不过,有没有更简单一点的方法呢?
我们想要的是书名的去重值,本质上就是把相同的书名合并成一个,Excel 中刚好就有个用来「合并同类项」的功能——数据透视表。
只需要选择「插入」选项卡中的「数据透视表」,生成后将「书籍名称」拖动到「列」当中,就能得到合并同类项之后的书本名称了。
3. 使用「高级筛选」:最佳功能一步到位
使用数据透视表,需要额外生成一个数据区域,本质上还是曲线救国。实际上,Excel 中的筛选功能,本身就提供了隐藏重复数据的功能。
不需要额外的辅助列和函数,也不需要使用别的功能来曲线救国,找到「数据」选项卡下面的筛选「高级」按钮,针对 C 列区域,在弹出的对话框中,勾选「选择不重复的记录」,点击确认后,重复的数据就自动被隐藏起来了。
用好高级筛选功能
通过上面的案例,相信你已经感受到了 Excel 中的「条条大路通罗马」。不过,高级筛选功能当然不止这么简单,我们就来更深入地来看看,高级筛选功能还能实现什么。
我们先从一个简单的案例看起:想要筛选「渠道」为「拼多多」,并且销量大于 30000 的书籍,这个任务简单吗?非常简单,相信你只要简单用过 Excel,就能轻松完全这个任务,打开筛选开关,分别设置一下 B 列和 D 列的条件就可以了。
那么,让我们稍稍修改一下这个任务:筛选「渠道」为「拼多多」,或销量大于 30000 的书籍。一字之差,从「并且」变成了「或」,这时候用原来的筛选功能,还可以做到吗?
Excel 中基础的筛选功能,只能做到「并且」的关系条件,想要实现「或」筛选,就不得不使用「高级筛选」了。我们一起来看看怎么实现。
1. 实现「或」关系的筛选
你可能注意到了,在前面使用「高级筛选」弹出的对话框中,有一个字段是「条件区域」,它是做什么用的呢?
「高级筛选」之所以高级,是因为它对筛选条件的自定义程度更高,你可以在表格中的一个区域中,声明进行筛选的条件是什么。在声明条件时,每一行的条件都是「并且」的关系,而行与行之间,则是「或」的关系。
我们回到之前提到的小任务:筛选「渠道」为「拼多多」,或销量大于 30000 的书籍。使用「高级筛选」时,只需要把这个填写为两行条件,就形成了「或」的关系。
渠道 | 销量 |
拼多多 | |
>30000 |
具体到操作中,看到效果如下:
可以看到,使用「高级筛选」时,有几个明显的好处:
- 筛选条件一目了然:如果使用基础的筛选功能,你需要点击每一个下拉箭头,才能看到具体应用的筛选条件。而通过高级筛选,所有的条件都显式地列在了表格之中,更加一目了然。
- 可以实现「或」关系的筛选:基础筛选只能做到简单的「并且」关系,而使用高级筛选,通过将不同的条件列在不同的行,就可以实现「或」关系的筛选;
- 筛选条件可以使用公式:在声明筛选条件时,可以使用公式。例如上面的销量大于三万,只需要写「>30000」就可以了。
2. 实现更复杂的条件筛选
高级筛选中,筛选条件可以使用公式的特点,不仅仅只有「>30000」这样简单的公式,我们还可以添加更复杂的公式,以实现筛选。
例如,我们想筛选出在所有渠道中,销量大于 7 万的书籍有哪些,该如何实现呢?我们先来看一下这个操作的过程,再来拆解是如何做到的。
这道题目的难点在于,如何写出「总销量大于 7 万」的筛选条件公式呢?
这里其实用到的是 SUMIF 的函数,和前文中提到的 COUNTIF 的函数类似,它的函数是这样的:SUMIF(条件区域,条件值,求和区域),参照下图也就是说,在 C2:C26 区域中,如果书名为「私人生活的变革」,那么就加总 D2:D26 区域中的值,将它是否大于 7 万作为一个筛选条件。
另外,你可能注意到,我们在 F7 单元格中,事先填入了「书籍名称」的标题,这样一来,筛选的结果,只会显示原区域中「书籍名称」那一列。
现在,你对 Excel 中的筛选功能,是不是有了更深入的理解?它不仅可以实现「或」关系的筛选,还能应用公式作为筛选条件,后者能让筛选变出更多花样来。
这一篇文章就讲到这里,下一篇文章,我们将对 Excel 中一个不常见,却非常有用的概念——数组,来进行深入的了解。