【问题标题】:Weighted AverageIFs Statement Using SumProduct使用 SumProduct 的加权平均 IFs 语句
【发布时间】:2018-04-29 22:42:56
【问题描述】:

我们都知道 AverageIfs 的作用。但是,如果我想根据另一列中的数据将我的 AverageIFs 语句转换为加权平均值怎么办。假设在 Master 选项卡中,每一行在 H 列中都有一个数量。正如您现在所看到的,我正在根据 C 列中的标准对 J 列中的价格进行平均。问题:每一行都有一个唯一的数量,所以基于 H 行中满足条件的数量的加权平均比仅使用基本平均价格更准确。有人对如何更改此公式有任何想法吗?

ProductHier Common Name  Total Sls   Total Fct  2017 avg price  2018 avg price
B1B1403A01  ACC - Finished Goods     2,448   2,612   99      118 
B1B1403A02  ACC - Finished Goods     3,143   3,350   165     180 
B1B1403A05  ACC - Finished Goods     709     613     162     152 
B1B1403A06  ACC - Finished Goods     206     150     123     142 
B1B1403A07  ACC - Finished Goods     1,714   1,441   152     142 
B1B1403A08  ACC - Finished Goods     253     295     142     160 
B1B1403A09  ACC - Finished Goods     2,447   2,435   88      98 
B1B1403A11  ACC - Finished Goods     2,334   3,281   149     174 





  =SUMPRODUCT((Master!C2:C5000='Forecast Calc'!D2)*Master!H2:H5000,Master!J2:J5000)/SUMIFS(Master!H:H,Master!C:C,'Forecast Calc'!D2,Master!J:J,"<>0")

【问题讨论】:

  • 你能模拟一些测试数据和预期的输出吗?
  • 嗨,Scott,从我的名声可以看出,我对这个网站不太熟悉。如何上传测试数据?
  • 在excel中创建数据的简化版本,使用Edit将文本复制并粘贴到原始帖子中。突出显示新文本并按 Ctrl-K 以格式化为代码。
  • 所以你想得到基于通用名称的平均价格,但被总 Fct 加权?
  • 求和?使用额外的 1 和 0 列作为 IF 元素

标签: excel excel-formula vba


【解决方案1】:

使用 SUMPRODUCT 除以 SUMIF:

=SUMPRODUCT((F2:F9="ACC - Finished Goods")*H2:H9,J2:J9)/SUMIFS(H2:H9,F2:F9,"ACC - Finished Goods",J2:J9,"<>0")

【讨论】:

  • 谢谢斯科特!我在不同选项卡的 D 列中有常用名称。我想使用 D:D 而不是将常用名称硬编码到每个公式中。这是一个包含数百个常用名称且不断变化的大型文件
  • 还必须满足条件,即 2018 年价格为 0 的值不得包含在平均值中
  • 如果我用 D2 替换名称,我如何调整公式以从平均值中排除 0 的价格
  • 非常感谢!在您的等式中,H 和 J 指的是哪些类别?
  • 对不起,我有点菜鸟。我没有看到屏幕截图的超链接
猜你喜欢
  • 2010-12-14
  • 1970-01-01
  • 2016-11-09
  • 1970-01-01
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 2011-02-12
相关资源
最近更新 更多