有没有一种方法可以将多个公式合并为一个

时间:2020-08-26 20:35:11

标签: arrays excel vba excel-formula

全部:

我正在尝试设计一个共享的工作表,以衡量销售人员在一段时间内的表现。除了计算单位数,销售价格和利润外,我还尝试计算当月售出的新帐户数量(理想情况下,我希望能够更改时间范围,以便可以计算较大的时间段,例如季度,年份等)。

本质上,我想确定某个客户是否在本月前的12个月内被出售给了客户,如果没有,我将看到客户编号和出售他们的销售人员。

到目前为止,我能够通过添加三列来进行计算(每列计算过程的一部分)(请参见下面的屏幕截图):

  1. H列(SoldLastYear)-显示在本月前一年的销售客户:=IF(AND(B2>=(TODAY()-365),B2<(TODAY()-DAY(TODAY())+1)),D2,"")
  2. 第一列(SoldNow)-显示本月已售出的客户,如果在H列中未找到,则显示“新客户”:=IFNA(IF(B2>TODAY()-DAY(TODAY()),VLOOKUP(D2,H:H,1,FALSE),""),"New Cust")
  3. 第J列(NewCust)-如果第I列显示“ New Cust”,请向我显示客户编号:=IF(I2="New Cust",D2,"")
  4. 第K列(销售名称)-如果第I列显示“新客户”,请向我显示销售员姓名:=IF(I2="New Cust",C2,"")

Sample Spreadsheet

有人知道我该如何提高效率吗?数组公式可以在这里工作吗,还是因为它引用同一列中的其他行而会陷入循环?

任何帮助将不胜感激!

编辑:这是我试图实现的目标: 代替:

  1. 在H栏显示我在当月第一天前的12个月内售出的商品(今天的日期:8/1 / 19-7 / 31/20);
  2. 我在专栏中向我展示了2020年8月的销售情况;和
  3. 第I列搜索H列,以查看该客户是否在H列中指定的时间范围内被售出

我希望有一个列可以完成所有三个操作:一列标记从当月初开始的最近12个月内的所有销售(因此,从8/1/19到8/27/20),然后将当月(八月)的销售额与之前的销售额进行比较,并让我知道客户在本月首次出现(如果它在前一个月的12个月内没有出现)->休眠期为12个月。

  • 我真的只是在尝试寻找一种方法来改善配方,减少资源消耗。对于大型数据集,三列(针对不同的时间范围复制了几次)确实减慢了Excel的速度...

以下是最终结果的示例:

Example of final product

0 个答案:

没有答案