接到一网友的咨询,刚上班老板就要他统计存放在仓库的物料存放时间,并按库存超过3个月,6个月,和1年分别统计出数量,因为工厂没有信息化,全部是用Excel手动登记的(格式为下图),数据太多没有办法快速统计分析,老板要得急,问古老师有没有好的办法?

数据做了部分处理,实际数据超过10000行,看到数据第一个反应就是存放时间的条件,因为按上图中的条件没有办法写公式的,因为Excel对于时间的定义就是数字,数字1代表1天,“年”和“月”是中文没有办法代入函数公式中,所以第一个问题就是要把月和年做一个定义;比如1年等于365天或者1月等于30天,但是这样统计也不准确,因为不是每一年都是365天或每月都是30天;

除了年和月这个问题,比较符号也有问题,Excel中不支持中文的比较符号“≥”,需要转换成“>=”,而且给我条件是用重复的,按这个网友反馈的问题是不包含重复的,也就是存放时间大于30天,和大于60天的要分开计算;如果转换成可以理解的数据应该是:1.90-179天,180天-365天,大于365天的;

所以这个统计物料存放时间和分析的问题,只需要解决以上问题就可以很快解决,边上加入一列基准列,统计时间,在边上的单元格录入统计的基准时间,如以今天的日期为基准统计存放时间,就是2月5日,如果需要按未来的预测,就更改这个时间,如更改为3月1日,就表示以这个日期来统计,在录入公式=$H$1-A2,下拉填充就统计出每个代码在仓库存放的时间;

有了存放时间,就需要按条件统计代码数量了,把条件按下图的转换,90-179天,转换成>89天和<180天,因为条件中没有小数,都是整数,这里就不必按大于等于写两个符号了(>=)了,同理,其它条件分别也转换成Excel函数可以识别的条件后,就可以写统计函数了,分别录入:
公式1:=COUNTIFS(F:F,">89",F:F,"<180")
公式2:=COUNTIFS(F:F,">179",F:F,"<366")
公式3:=COUNTIFS(F:F,">365")
下拉填充就可以得到具体的统计结果;

其实这样写条件非常不好,需要一个一个去核算天数,每次不不能更改,如果再增加一列判断存放时间,再用VLOOKUP加上数据透视来解决,古老师认为是最佳的。提前录入好天数对应的返回条件,再录入公式:=VLOOKUP(F2,M:N,2,1),下拉填充就可以到返回结果,再用数据透视表透视这一列的结果就可以非常快速的得到答案。
