这个系列的六篇文章,是《Microsoft 365 工具升值包》的 Excel 专题。

写在前面

Excel 在 Office 三件套中,是一个非常特殊的存在。一是它的功能繁多,虽然 Word 和 Powerpoint 的功能也不少,但 Excel 的功能是最多的,从入门到精通的学习曲线也更陡峭。另一方面,正是因为功能的繁多,导致它的可塑性也更强,用途更加广泛:管理人事名单,处理销售数据,展示动态的财务报表,制作各类工作生活中的模板……Excel 似乎无处不在。

这个系列的六篇文章,自然不可能把 Excel 面面俱到,也不可能一夜之间让你成为 Excel 的进阶高手。我在写作时,主要考虑了这两个核心原则:

  1. 从 Excel 最合适的场景入手:Excel 最核心的使用场景,自然还是面对「数据」的。如果从生命周期来看,数据可以分为收集、处理、分析、展示等几个环节。我在《高效收集数据》一文中提到过,Excel 并不是最理想的数据收集工具,因此,这个系列的主要脉络,是从数据处理分析展示入手的。在最后一篇中,还额外介绍了一下如何用 Excel 制作模板。
  2. 介绍实用但不一定为人熟知的功能、技巧:短短六篇文章,自然不可能穷尽 Excel 的所有功能。例如,像宏脚本编写这样的功能,学习曲线较高,使用频率却不一定高(大多数人即使真的用到宏,往往也是直接加载别人预先做好的宏脚本)。这个系列主要着眼于实用、但不一定为人熟知的功能和技巧。当然,这里面可能有些功能和技巧你已经知道,我会尽可能地通过场景与功能原理,让你在原来的基础上有更深入的理解。

下文中提到的示例,都在这个 Excel 表格中 高级筛选-示例.xlsx,你可以下载后对照着阅读,效果更佳。

从删除重复项开始,了解 Excel 的常见解题思路

在 Excel 中,经常遇到的一个场景是:如何快速删除重复项?进一步细分的话,会有两个子场景:

  1. 错误填写导致的重复:例如,公司使用在线表单收集员工信息,可能有人一不小心提交了两次,就会生成重复的数据,这时候导出的数据就需要删除重复项;
  2. 需要合并的重复:例如,在统计各渠道的书籍销量时,不同渠道的销量中,很多书籍都是一样的。这时候如果我们关心的是哪些书本畅销,想看到的就是去重后的结果。

针对第(1)类的因为错误导致的重复,非常简单,Excel 直接提供了「删除重复项」的选择,只需要选中数据源,切换到「数据」选项卡就可以找到。

直接使用 Excel 的「删除重复项」功能

和第(1)类的删除重复项不同,第(2)类因为合并而产生的去重需求,往往我们会希望保留原因数据,而不是粗暴地直接删除。这时候,有什么办法呢?

就像做数学题不止一种解法一样,要在 Excel 中做到这一点,同样有许多解题思路。做为这个系列的第一篇文章,我们就这一问题展开说说,在 Excel 中的「条条大路通罗马」,从而帮助你意识到,之后文章中提到的许多案例,你都可以自己思考:通过结合不同的功能点,会不会有更优的解法。

我们以这个表格为案例,如何在书籍销量的 Top 25 排名中,快速找到不重复的书籍清单。

排名渠道书籍名称销量
1豆瓣私人生活的变革49733
2豆瓣把自己作为方法49393
3拼多多父权制与资本主义48304
4豆瓣末日松茸46202
5豆瓣小径分岔的花园43636
6微信读书人行道王国42425
7Kindle中国的乡村生活41599
8Kindle文明的进程40995
9京东学做工40320
10拼多多诗艺38351
11拼多多中国的乡村生活37616
12京东世界的苦难35882
13拼多多世界的苦难35744
14淘宝博尔赫斯谈话录35068
15微信读书思想史中的日本与中国26680
16Kindle恶棍列传23597
17淘宝回归故里22609
18拼多多给青年诗人的信22358
19淘宝把自己作为方法21964
20Kindle社会学的想象力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 单元格,再向下填充公式就可以了。
新增的 E 列显示了书名出现的次数

有了这个辅助列,只需要简单的筛选一下,只展示值为 1 的行,就得到了唯一去重的书名目录了。

2. 使用数据透视步:现有功能曲线救国

不过,有没有更简单一点的方法呢?

我们想要的是书名的去重值,本质上就是把相同的书名合并成一个,Excel 中刚好就有个用来「合并同类项」的功能——数据透视表。

只需要选择「插入」选项卡中的「数据透视表」,生成后将「书籍名称」拖动到「列」当中,就能得到合并同类项之后的书本名称了。

使用数据透视表去重

3. 使用「高级筛选」:最佳功能一步到位

使用数据透视表,需要额外生成一个数据区域,本质上还是曲线救国。实际上,Excel 中的筛选功能,本身就提供了隐藏重复数据的功能。

不需要额外的辅助列和函数,也不需要使用别的功能来曲线救国,找到「数据」选项卡下面的筛选「高级」按钮,针对 C 列区域,在弹出的对话框中,勾选「选择不重复的记录」,点击确认后,重复的数据就自动被隐藏起来了。

使用高级筛选功能一步到位

用好高级筛选功能

通过上面的案例,相信你已经感受到了 Excel 中的「条条大路通罗马」。不过,高级筛选功能当然不止这么简单,我们就来更深入地来看看,高级筛选功能还能实现什么。

我们先从一个简单的案例看起:想要筛选「渠道」为「拼多多」,并且销量大于 30000 的书籍,这个任务简单吗?非常简单,相信你只要简单用过 Excel,就能轻松完全这个任务,打开筛选开关,分别设置一下 B 列和 D 列的条件就可以了。

那么,让我们稍稍修改一下这个任务:筛选「渠道」为「拼多多」,或销量大于 30000 的书籍。一字之差,从「并且」变成了「或」,这时候用原来的筛选功能,还可以做到吗?

Excel 中基础的筛选功能,只能做到「并且」的关系条件,想要实现「或」筛选,就不得不使用「高级筛选」了。我们一起来看看怎么实现。

1. 实现「或」关系的筛选

你可能注意到了,在前面使用「高级筛选」弹出的对话框中,有一个字段是「条件区域」,它是做什么用的呢?

高级筛选中的「条件区域」

「高级筛选」之所以高级,是因为它对筛选条件的自定义程度更高,你可以在表格中的一个区域中,声明进行筛选的条件是什么。在声明条件时,每一行的条件都是「并且」的关系,而行与行之间,则是「或」的关系。

我们回到之前提到的小任务:筛选「渠道」为「拼多多」,或销量大于 30000 的书籍。使用「高级筛选」时,只需要把这个填写为两行条件,就形成了「或」的关系。

渠道销量
拼多多 
 >30000

具体到操作中,看到效果如下:

使用「高级筛选」实现「或」关系的筛选

可以看到,使用「高级筛选」时,有几个明显的好处:

  • 筛选条件一目了然:如果使用基础的筛选功能,你需要点击每一个下拉箭头,才能看到具体应用的筛选条件。而通过高级筛选,所有的条件都显式地列在了表格之中,更加一目了然。
  • 可以实现「或」关系的筛选:基础筛选只能做到简单的「并且」关系,而使用高级筛选,通过将不同的条件列在不同的行,就可以实现「或」关系的筛选;
  • 筛选条件可以使用公式:在声明筛选条件时,可以使用公式。例如上面的销量大于三万,只需要写「>30000」就可以了。

2. 实现更复杂的条件筛选

高级筛选中,筛选条件可以使用公式的特点,不仅仅只有「>30000」这样简单的公式,我们还可以添加更复杂的公式,以实现筛选。

例如,我们想筛选出在所有渠道中,销量大于 7 万的书籍有哪些,该如何实现呢?我们先来看一下这个操作的过程,再来拆解是如何做到的。

使用高级筛选找到所有渠道销量大于 7 万的书籍

这道题目的难点在于,如何写出「总销量大于 7 万」的筛选条件公式呢?

这里其实用到的是 SUMIF 的函数,和前文中提到的 COUNTIF 的函数类似,它的函数是这样的:SUMIF(条件区域,条件值,求和区域),参照下图也就是说,在 C2:C26 区域中,如果书名为「私人生活的变革」,那么就加总 D2:D26 区域中的值,将它是否大于 7 万作为一个筛选条件。

另外,你可能注意到,我们在 F7 单元格中,事先填入了「书籍名称」的标题,这样一来,筛选的结果,只会显示原区域中「书籍名称」那一列。

设置大于 7 万的筛选条件

现在,你对 Excel 中的筛选功能,是不是有了更深入的理解?它不仅可以实现「或」关系的筛选,还能应用公式作为筛选条件,后者能让筛选变出更多花样来。

这一篇文章就讲到这里,下一篇文章,我们将对 Excel 中一个不常见,却非常有用的概念——数组,来进行深入的了解。