希子网

希子网

手把手教你编写复杂的coverage公式

admin
手把手教你编写复杂的coverage公式手把手教你编写复杂的coverage公式-第1张-会计信息-希子网

理论上库存可能覆盖几个月,也可能覆盖几十个月,在不添加辅助列或者辅助行的前提下,这里如何用公式求出呢?

我们首先看下B4单元格的公式,如下


手把手教你编写复杂的coverage公式-第2张-会计信息-希子网

={IFERROR(IF(B3>C2,(B3-INDEX(累加求和,MATCH(B3,累加求和)))/INDEX(C2:Z2,MATCH(B3,累加求和) 1) MATCH(B3,累加求和),B3/C2),B3/AVERAGE(C2:Z2))}

此公式是数组公式,我们一项项拆解

1.我们首先要算出销售随着月份增长的累加和,我们定义成名称"累加求和"

SUBTOTAL(9,OFFSET(C2,,,1,ROW(INDIRECT("1:100")))),我们用row和indirect组合构造出1到100的数列,然后用offset函数统计计算范围,共操作100次。最后用subtotal求和,这段公式按F9,结果是{0;0;0;3;9;13;15;15;16;19;25;28;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58;58}

2.第二步在累加求和数列中找出小于等于库存的最大值,2020-01月份的库存是2,因此在数列中小于等于2的是第三个数0。这里使用的是match模糊查询功能,也就是忽略其第三个参数,公式中只使用第一和第二个参数。这里求出的结果是3,表示能够覆盖3个整月,(B3-INDEX(累加求和,MATCH(B3,累加求和)))这一段表示,库存2台扣除3个整月之后的结果,之后用这个结果除以下个月的数据,也就是第四个月的销售,公式是“INDEX(C2:Z2,MATCH(B3,累加求和) 1)”,这样就是【3(覆盖的整月数) 2(库存扣除前三个月的销售)/3(第四个月的销售)】=3.667

3.容错

如果库存数超出了销售的所有月份,就直接用库存除以其平均值

整个公式只有3个参数,B3,C2,Z2,套用起来非常方便

B3表示第一个库存数据,C2表示第一个销售数据,Z2表示最后一个月的销售数据

理论上这个公式可以计算任意月份的coverage公式