欢迎光临散文网 会员登陆 & 注册

中V相关的简单数据处理(基于Excel)

2021-02-25 19:10 作者:景育  | 我要投稿

本文讲的东西基本都是Excel的简单功能,不过实践中发现还是有些人不太能掌握。所以写一个专栏介绍一下。Excel虽然不是什么专业软件,但是对于几千行及以内的数据,处理分析还是十分高效的。

本文使用的示例数据如下所示

其中时间日期已经通过了预处理,将UNIX时间戳转化为Excel可以识别的时间。

一、数据筛选

全选数据表(可以按下Ctrl + A),然后使用“排序与筛选”中的“筛选”功能。

使用之后,在第一行出现各列的按钮,可以进行筛选。

譬如选出表中ilem投稿的所有投稿

筛选功能还可以实现大于、小于等多种功能。

二、简单的函数使用

这一段以例子的方式说明COUNTIF、COUNTIFS、SUMIF等常见简单函数的用法。

什么是函数呢?

在中学数学里,我们学过类似于y%3Df(x)这种函数。我们这里不妨把输入的那个数据x称为“参数”,把输出的结果y称为函数的“返回值”。

可以把函数理解为一个加工厂,往里面输入x,它会输出加工后的产品y。当然,在Excel中,函数的参数可以有多个,也可以只有零个


例1:数出表中播放量大于等于1000万的投稿数目(神话曲个数)。

本题使用COUNTIF函数,其中第一个参数是“单元格的范围”,第二个参数是条件。我们要数出D2:D13这些单元格中大于1000万的个数。

=COUNTIF(D2:D13,">=10000000")

执行结果:3


例2:数出表中播放量大于等于500万单小于1000万的投稿数目(申舌曲个数)。

使用COUNTIFS来代替COUNTIF,来使用多个条件。

=COUNTIFS(D2:D13,">=5000000",D2:D13,"<10000000")

执行结果:5

有人可能会问,为什么这里需要写两次D2:D13呢?可以看下一个例子。

例3:数出表中由ilem投稿的、播放量大于等于1000万的投稿数目(ilem神话曲个数)。

类似于上例,只不过两个条件分别作用于播放量那一列和UP主那一列。

=COUNTIFS(D2:D13,">=10000000",F2:F13,"=ilem")

输出结果:2

例4:计算表中,ilem投稿作品的总播放量。

类似上例的COUNTIFS,count是计数的意思,这里换成用于求和的sum,即SUMIFS。

SUMIFS的第一个参数是求和的单元格,第二个参数是条件的单元格,第三个参数是条件。

=SUMIFS(D2:D13,F2:F13,"=ilem")

输出结果:42461988

三、函数的嵌套使用

到此,都还是比较简单的,因为只用到了一个函数,没有出现函数的嵌套。

下面就开始有函数的嵌套了。

例5:计算表中,ilem投稿作品的播放量的几何平均数。

看了前4个例子,COUNT用于计数,COUNTIF、COUNTIFS用于有条件的计数;SUM用于求和,SUMIF、SUMIFS用于有条件的求和。

大家知道GEOMEAN是求几何平均数的函数,惯性思维,就可能会考虑用GEOMEANIF之类的的来进行有条件的球几何平均数。然而,Excel中没有GEOMEANIF这个函数。

那该怎么办呢?

这里,我们使用GEOMEAN和IF嵌套使用:

=GEOMEAN(IF(F2:F13="ilem",D2:D13))

输出结果:6092912.213

先说说IF这个函数,它可以是IF(条件,条件成立的结果,条件不成立的结果),有时候可以省略条件不成立的结果。

IF函数最简单的例子就是下面这种:

在这里,IF的条件是F2:F13="ilem",如果满足这个条件,那么结果是D2:D13中的单元格。通过IF这个语句,我们把ilem投稿的作品筛查了出来,其结果(D2:D13中的单元格)再作为GEOMEAN函数的参数传入。

例6:计算表中,litterzy投稿作品中,收藏最多投稿的收藏量。

同样,MAX函数和IF函数相互嵌套。(因为Excel中没有MAXIF函数)

=MAX(IF(F2:F13="litterzy",D2:D13))

输出结果:298050



四、数据匹配

这里我们换一张数据表

左半边是2021年2月25日某时测取的播放量数据,而右半边是2020年1月26日某时测取的播放量数据。

例7:计算表中,各个歌曲在一年多的时间内播放量增幅。

如果这两侧的每一行都一一对应,大家可能就直接用减法了。但是这里两顺序不一样,甚至歌曲内容也不一样。比如左边有万古生香和深夜诗人,而右侧有东京不太热和神经病之歌,左右并非完全对应

为了解决这个问题,我们要想办法根据右边的歌名,在左边找到对应的播放量。这就需要VLOOKUP了。

VLOOKUP函数需要四个参数:要找的值,在哪里找,返回第几列,是否是精确查找

我们先尝试键入

=VLOOKUP(D2,A$2:B$13,2,FALSE)

意思是:在A$2:B$13的区域里,找到D2的值,返回值是从A$2:B$13区域里第2列对应值。最后的FALSE表示精确查找。

(在截图里,就是红色框的区域里,找到蓝色框的值,返回值是从红色框区域里第2列对应值。

注意:Excel中数数是从1开始数的,不是从0开始数的。


这样,我们就得到了“普通DISCO”在左边半张表中的播放量了。

我们向下填充,可以得到10行有有效数据。

最后面两个为#N/A,那是因为东京不太热和神经病之歌在左边找不到。

使用VLOOKUP的这种匹配方法,只能匹配出二者的交集。(也就是左右共有的那10首歌)

题目要求是计算播放量的增幅,那么减去历史值即可

=VLOOKUP(D2,A$2:B$13,2,FALSE)-E2

VLOOKUP是Excel函数中的难点,需要多加注意。

补充:

有人会问为什么A$2:B$13加入了“$”这样的符号,这样表示绝对位置,能确保在向下填充中,2和13这两个数字不会发生变化。要不然填充第二行时,就会变成A3:B14了。

五、数据透视表

数据透视表也是Excel中常用的功能。


在之前的例表中,全选表格,点击“插入”-“数据透视表”。然后在弹出的窗口中点击“确定”。

在打开的数据透视表右边,有调整数据透视表字段的栏目:

例8:表中各个UP主投稿的数目有多少?


将“UP主”拖入行,将“标题”拖入值。

结果:

例9表中各个UP主投稿的平均播放量是多少?按从大到小排序。

把“UP主”和“播放量”拖入相应位置:

点击“求和项:播放量”,选择“值字段设置”

改为“平均值”,再点击确定。

对结果数据排序

结果:

总结

本文介绍了Excel中基础函数的用法,以及函数的相互嵌套。另外在开头和结尾介绍了“筛选”和“数据透视表”两个很好的功能。

不过本文例子中的数据量比较小,只有十几行。但是实际常遇到的数据有几百行、上千行,所以使用各种公式会显得非常方便。

练习

如下图所示,一个Excel的xlsx文件里有两个表格:Sheet1和Sheet2

Sheet1
Sheet2

Sheet1存储了2021年2月25日某时的VOCALOID中文殿堂曲(依据周刊收录范围,而非萌娘百科收录范围)。(数据来源:天钿Daily)

Sheet2存储了一些UID与UP主名称的对应关系。

原始数据下载

练习1:构建一张新数据表,将歌曲数据与UP主名称相对应。

(提示:VLOOKUP)

练习2:计算表中ilem的传说曲个数。

(提示:COUNTIFS)

练习3:计算表中各个UP主的殿堂(含传说/神话)曲个数,并按从高到低排序。

(提示:数据透视表)

思考:要把Sheet1和Sheet2拆开存储?

(避免数据冗余)

之后可能还会安排MySQL数据库 + SQL查询语句入门。不知道有没有空。

本文使用的是Microsoft Office 365中的Excel。上面用到的功能,Microsoft Office 2007/2010/2013/2016等版本应该都有。Microsoft Office 2003就劝退了,数据透视表不是这样的。金山公司的WPS我基本不用,不清楚。

中V相关的简单数据处理(基于Excel)的评论 (共 条)

分享到微博请遵守国家法律