由于本人工作的需要,经常要接触到大量数据,这次老板又有了新的无理要求,要求对各公司进行行业分类,并将同行业的交易额、家数、与同行业均值增减数一并体现出来,真把我折磨的半死,不过话又说回来,处理完后回顾下,还是有不少技巧,心得的,现在跟大家一起分享下:

按照要求对符合同一行业的各项数据进行汇总,这里使用了sumif函数(=sumif($D$2:$D$235,N2,$E$2:$E$235)来进行行业的判断及相同条件数据的汇总,sumif函数还是非常不错的,可以将符合条件的一并汇总出来。

001

通过使用countif函数对该数据区域内的同行业数进行了分类的汇总(=countif($D$2:$D$235,N2)

003

由于按照工作的要求,每个公司要结合自己所属行业类型与该行业均值进行一个比较,并在增减情况列中体现相应的数据(由于本人比较懒,不愿意用手工操作,所以就想到能不能用vba,让vba来帮我做判断,计算工作)

  • 按ALT+F11调出VBE窗口
  • 点击插入---过程----设置一个过程名(本例用choose作为过程名)
  • 定义一个整数型的自变量(i) ,用FOR-NEXT进行循环,从D2单元格开始直至D列中的最后一个非空单元格结束(rang(“d65536”).end(xlup).row)作为循环的次数
002

 

  • 由于本例中需要判断的项目较多,所以采用select case语句来进行判断(用if语句来进行多条件判断,编写的程序可能会比较复杂,且容易出错,故而放弃)
  • 取一段程序简单解释下(解释不好,请多多包涵) 

Select Case Cells(i, 4)
  Case Is = "电子产品"
   Cells(i, 13) = Cells(i, 5) - Cells(2, 17)

  当 i= 2时,对D2单元格的内容进行判断,如果内容是电子产品,则M2单元格的值是E2与Q2差,如不是电子产品,则转到下个case 语句。

编写完毕后,按F5/运行,相应的数据马上就显示出来了(节约了很多时间,用这时间做做自己的事情多好呀)

004