【和EXCEL对比】在各个分组中过滤

某个地区各个月的平均气温记录,按照每一年分组。现在需要统计各年平均气温大于本年均值的月份。

  • 由于每一年的平均温度是不同的,因此过滤时的条件并不相同,因此在Excel中是无法直接将每一年的数据同时处理的,可以用下面两种方法:

    1. 方法一:
      首先,对A列执行过滤,过滤条件选择数据为2010,过滤完成后再对C列执行过滤,过滤条件为大于或等于68.52,执行过滤后,结果如下:

      将过滤后的值复制,粘贴到新的工作表中备用。然后重新过滤,先对A列执行过滤,条件选择数据为2011,完成后再对C列执行过滤,条件为大于或等于69.21,结果如下:

      再次把结果中的数据复制,和2010年的数据粘贴在一起。
      这样的方法操作十分繁琐,当数据量比较大,分组比较多时,这样的工作就十分繁重了。同时,在最终的结果中,也丢失了原有的统计数据,无法在后续的分析中直接使用。
    2. 方法二:
      在D列中添加辅助计算数据,计算每月的温度是否大于等于平均值,可以在D4中填入表达式=C4>=$C$3复制下来,然后选择C5至C15,执行选择性粘贴公式。在2011年的数据中也做类似处理,结果如下:

      接下来,对D列执行过滤,保留TRUE的记录,结果如下:

      由于计算每一年的气温均值时用的是SUBTOTAL函数,因此过滤后会重新计算,使得D列的结果也产生了变化,但是并不影响过滤操作的正确性。
      使用这种方法,避免了手工整合数据,比第一种方法的效率要高。但是,这样的方法需要将问题转化,添加计算列,增加了解决问题的难度。同时,由于各年的计算列公式不同,需要一一设定,当分组比较多的时候工作量仍然比较大。

    选定C4,执行过滤,过滤条件如下:

    将每组中,访问大于本组平均值的记录保留,其它记录隐藏。过滤表达式中的C3会根据位置自动迁移为各个分组中的同位格,即本年的平均温度。不满足要求的记录既可以选择隐藏,也可以根据需要选择删除。执行过滤后,结果如下:

    在计算表中,过滤时写入的表达式会根据结构智能分析,只需要一步过滤就可以完成,十分方便。