【和excel对比】多层结构中的比上期计算 | 润乾 -九游会登陆
已知一些州的人口统计数据,现在需要统计:在2010年哪3个州的人口增长率最大。
- 由于在计算2010年的人口增长率时,只需要2010和上次人口普查2000年的数据,因此首先需要筛选数据,只保留year在2010和2000的数据,结果如下:
- 为了进一步的汇总分析,需要将筛选后的可见数据复制到新的工作表中,结果如下:
- 为了统计各个州的人口增长率,首先需要按照state升序,year升序排序,结果如下:
- 按照州名称分类汇总,删除总计行,结果如下:
- 下面需要在汇总行中计算出每个州的人口增长率,由于这类统计需求并非一般性的汇总计算,因此只能自己来写表达式。为此,需要在c2中填写表达式=(c4-c3)/c3,并按需要设定显示格式。然后将c2格复制,依次粘贴到c5、c8、c11、c14、c17中,结果如下:
- 收缩到州层次,然后按人口增长率排序,结果如下:
这样可以看到,人口增长率排名前三的州是nevada,arizona和utah。如果只需要这三个州的数据,则还需要手工复制到新工作表中。
在excel中,如果数据是多层结构,需要进行比上期计算时,常常需要手工粘贴公式,当数据量较大,分组较多时,工作量也有可能变得很大。如果需要部分数据做统计时,则需要手工整理数据到新的工作表中,效率低下而且出现错误的可能性大增。
- 首先过滤数据,选定b2格执行过滤操作,过滤条件为>1990,删除不满足条件的记录,结果如下:
- 将数据按year降序排序,结果如下:
- 按州分组,选择a2执行分组操作,设定分组前排序,结果如下:
- 在分组行中计算人口增长率,只需要在一个单元格中填入表达式,如在c2中填入表达式=(c3-c4)/c4,它的同位格中都会自动计算出人口增长率,结果如下:
- 直接对分组排序,选择分组行中的c2格,执行降序排序,结果如下:
如果只需要人口增长率前三位的州的数据,则需要再对分组执行过滤。
在计算表中,比上期计算时,只需要填写一次表达式即可;在执行过滤等操作时,可以直接选择将数据删除,而无需手工操作;在排序时,通过对分组行执行排序,可以整体调整各个分组的位置。计算表中的操作模式,使得处理这类问题十分方便,不会因为数据量变大或者分组的变多而使难度增加。