【和EXCEL对比】分类结构中的复杂计算

    根据一周内几部电影的票房信息,找出一周内,票房连续增长的时间最长的电影信息。

  • 为了计算每部电影的票房增长天数,首先需要以电影为主要关键字,日期为次级关键字排序,结果如下:
  • 在D列中计算每部电影每一天的连续增长天数,如Marvel’s The Avengers,需要在D3中填入公式=IF(C26>C25,D25+1,0),然后拖拽设定到D3:D8区域。然后把公式依次复制粘贴到其它电影记录中。复制粘贴时只能用手工操作,如果数据量较大,则工作量也会增加。计算结果如下:
  • 对电影名称分类汇总,计算D列的最大值,并删除总计行,结果如下:
  • 收缩至分类层,对票房最大连续增长天数排序,结果如下:

    排序后就可以从表格中看到票房连续增长天数最多的电影。如果只要保留这部电影的信息,则需要手工复制粘贴到新的工作表中。如果用过滤操作完成,则必须先将分组数据复制到另外的工作表中过滤,否则无法区分数据行和分组行。
    在Excel中,在计算时要注意顺序,在分组前先将所需数据计算完毕。如果需要在各个分组中进行计算,经常需要手工将表达式一一粘贴到各个分类中,当分类比较多时,操作会变得麻烦。在过滤时,无法指定层次,只能先整理需要过滤的数据,操作复杂。

  • 按对电影名称分组,分组前排序,结果如下:
  • 计算每部电影每天的连续增长天数,每部电影的第一天,即扩展序号#为1时,设定值为0,为此在D4中设入表达式=if(C4>C3&&#>1,D3+1,0),结果如下:
  • 在分组行中计算票房最大连续增长天数,为此在D2中添加表达式={D3}.max()即可,结果如下:
  • 在计算表中,可以直接对分组执行过滤。选中D2格,执行过滤,为了保留票房连续增长天数最大的影片记录,过滤条件为@=={D2}.max(),过滤面板设定如下:

    过滤后,结果如下:

    在计算表中,只需要按照思路逐步操作,就可以完成复杂的计算。由于同位格共用表达式,因此在处理批量计算时无需复制粘贴。在过滤数据时,会在同位行间进行,避免了同一列中不同数据的相互影响。