【和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格,执行降序排序,结果如下:

    如果只需要人口增长率前三位的州的数据,则需要再对分组执行过滤。
    在计算表中,比上期计算时,只需要填写一次表达式即可;在执行过滤等操作时,可以直接选择将数据删除,而无需手工操作;在排序时,通过对分组行执行排序,可以整体调整各个分组的位置。计算表中的操作模式,使得处理这类问题十分方便,不会因为数据量变大或者分组的变多而使难度增加。