生产计划在分析数据中,经常需要统计一些数据,有单条件的,有多条件的,也有组合条件的,不同的统计需求对应的统计方法也不一样,今天古老师分享几种经常运用到的统计需求的方法。通过一些简单的案例来说明如何操作?
先看源数据,某工厂从ERP导出的销售数据,实际数据超过一万行,为了方便演示,只用15条数据作为数据原始记录;
问题1:总共有多少条销售记录?
源数据中一条销售数据只占一行,需要统计有多少销售记录,只需要统计源数据中占用的行数,用统计函数COUNTA就可以了,这个函数是统计非空单元格的函数,录入函数:=COUNTA(A:A)-1,得到结果15,公式释义:统计A列中非空单元格的数据,减去第1行标题行占用的数据,得到15条销售记录;
问题2:销量超过1000的记录有多少条?
销售超过1000的记录有多少条?这个问题不能用原来的COUNTA来统计了,因为这个问题是带条件了,属于条件统计的范围了,需要用到条件统计函数COUNTIFS了,这个函数的参数也非常好理解。
第一参数:条件1的统计的范围
第二参数:条件1(这个条件一般在在统计范围中,不在的话,返回结果就是0);
第三参数:条件2的统计范围
第四参数:条件2
……,支持多条件,只需要重复条件区域、条件这个规律即可;
学习参数后,就可以非常快速的写出各种限定条件的统计结果函数了;
如下图:
销量超过1000的记录=COUNTIFS(E:E,">1000")
甲地销量超过1000的记录=COUNTIFS(B:B,"甲地",E:E,">1000")
问题3:销售地区有多少个?
案例中的销售地区通过目测有三个,分别是甲地、乙地、丙地;实际的销售地区远远大于这个数据,如何用公式来统计呢?问题的本身就是销售地区有几个?对应过来的就是数据B列(地区列)去除重复项的结果有几个?
有了这个思路就简单了,先写把B列的数据进行重复项删除,录入公式:= UNIQUE(B:B),得到的结果有多条,再进行记录统计,录入函数:=COUNTA(UNIQUE(B:B))-2,得到结果3,减去2分别代表标题行占1行,无效的空行占1行,加起来就是2行了;这里统计整列的目的是为了实现数据动态更新,当有丁地的记录再加入进来的时候,就可以实现实时统计;
问题4:销售地区甲地有多少个业务?
这个问题比较复杂,案例中的销售地区有多个,需要指定销售地区甲地,指定后还需要统计有多少个业务,而且业务中还有一个业务负责多个产品的业务。下图中,手动统计的结果为:甲地有三个业务,分别是:韩信、大乔、狄仁杰。
如何来统计这类条件非常复杂的数据呢?不管条件多么复杂,找出规律即可:
条件1:销售地区为甲地,这个可用筛选函数来实现;
条件2:甲地有多少业务,这个通过条件1筛选的结果再次统计;
条件3:业务有重复人员,这个在统计前删除重复项后统计;
梳理完统计后,分别写出条件1到条件3的函数就可以了,新手最好是分步写,再合并公式。
条件1 =FILTER(D:D,B:B="甲地")
条件2 =UNIQUE(FILTER(D:D,B:B="甲地"))
条件3 =COUNTA(UNIQUE(FILTER(D:D,B:B="甲地")))
问题5:销售地区甲地负责品号123产品的有多少个业务?
问题5在问题4的基础上加多了一个限定条件,就是负责品号123的产品的有多少个业务,解决的核心就是在筛选完地区为甲地的结果后,还需要继续筛选品号为123的产品。
这里为什么不能用COUNTIFS函数来进行多条件统计呢?是因为返回的结果中业务有可能重复,而COUNTIFS函数没有办法对统计结果再次进行二次判断,所以只能用筛选函数FILTER进行多次筛选后,对结果进行删除重复项统计。
步骤1:=FILTER(D:D,B:B&C:C="甲地"&"123")
步骤2:=UNIQUE(FILTER(D:D,B:B&C:C="甲地"&"123"))
步骤3:=COUNTA(UNIQUE(FILTER(D:D,B:B&C:C="甲地"&"123")))
我是古哥:
从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!
领取专属 10元无门槛券
私享最新 技术干货