Excel实战-搞定生物分类表

界门纲目科属种,学生物的同学应该都很熟悉,比方说我们做为纲哺乳纲灵长目人科人属的智人(Homo sapiens),因为学会了“八卦”这项重要技能,从而走上了一条和尼安德特人不同的道路(笑)。

生物的分类表一般在书籍中可以查询,但我手头却没有电子版的,正好百度了一份鱼类分类表,做个范例,展示如何把有内在规律的表格变成我们常见的表格形式,方便查询或VLOOKUP引用。


收到的PDF是这个样子.

不知道为什么是三列的形式

先用word打开看看有无坑人的格式,一般来说PDF转word总会出现奇怪的问题,只能具体情况具体分析。

毫无规律的三列大表格

打开之后发现变成了表格格式,这很常见也易处理,全选-复制-选择性粘贴-只保留文本即可。同时不要忘记点一下清除所有格式,把文件自带的格式全部去除,便于处理。

清爽多了

这个时候我们观察会发现,文本是有内在规律的,即纲目科属的顺序排序,但是一个目可能对应多个科,一个科可能对应多个属,所以不能简单生成表格,仍要在处理。因为最后准备以Excel呈现,同时也方便,所以下一步处理的目的是方便Excel的步骤。我的思路是将每个阶元和元素重排成一列,在Excel中在按阶元分开。

观察发现,在每个拉丁名末尾加上段落符号是最好的方式,因此使用替换功能,这里要用到正则表达式,在替换装选择使用通配符,将“拉丁名”替换为“拉丁名+回车”的形式。(此处欢迎指正)

<>表示中间是单词,[a-zA-Z]表示字母,^&是查找内容,^p是回车

结果是下图的样子,可读性很强而且规则。

下面的工作是把内容复制进Excel处理,把不同的阶元分开。复制的时候,选择第一个,按住Ctrl+Shift+End,可以选择到末尾。

但在Excel中我发现有不规则的列

A列的内容被挤到B列了

回到word观察可以发现,原来表格换列的时候,存在了退格(TAB)。解决方法是“退格”替换为“^p”即可,同时还发现有空行,用“^p”替换“^p^p”即可。

接下来进行阶元分类,这里我没有选择数组函数,而是用COUNTIF实现,会复杂一点但容易理解(其实是不会)。

这个函数简单地返回含有“纲”的单元格,使用IF是为空格添加0,方便后面处理。

已经有分类表的雏形了

现在的问题是每个阶元并没有对应,这里我准备进行一次向下填充,以目为例,方法是:复制并选择性粘贴为数值-选取“目”-查找“0”-全选查找结果-在单元格中输入“=上一格单元格”-Ctrl+Enter,就完成了向下填充。


查找范围选择值,否则会查到函数


结果如上

这时候,只需要删除属中含0的行就得到了一一对应的分类表。删除行可以先排序在手动删除,查找含0的单元格,然后删除行。后者在数据多的时候更方便。

下一步是分开中文名和拉丁名方便使用,方法也有两种

1.快速填充法

如同然后选择快速填充即可。

2.函数法

下拉填充即可。

但是!!!在即将胜利的前一刻,我发现了有不合理的几个单元格(这证明了检查的重要性)

某些复杂汉字竟然占1个字节,导致填充错误,中文名都少了“属”字。为了方便理解(又不想用简单办法),处理办法选择最简单的:在右边插入一列,用如下公式解决之后在把正确的列返回回去。

&表示左右两个值连接

最后,排序获得全表。

好饿,该去吃饭了



总结一下,这次的操作没用到复杂的函数,全部使用基础函数和Excel的常规功能。

正则表达式

COUNTIF\IF函数和LIFT/LEN/LENB函数

查找功能、排序功能

基础的内容其实就可以完成复杂的工作,在工作之前观察原始文件的规律很重要,可以事倍功半,同时在进入Excel工作前,一定要用word的查找功能和通配符处理掉源文件的格式的小错误,以提高效率。

有用请点赞哦!

你可能感兴趣的:(Excel实战-搞定生物分类表)