Excel 使用SumProduct的加权平均IFS语句

Excel 使用SumProduct的加权平均IFS语句,excel,excel-formula,vba,Excel,Excel Formula,Vba,我们都知道AverageIfs做什么。但是,如果我想将AverageIFs语句转换为基于另一列中数据的加权平均值,该怎么办。假设在主选项卡中,每一行在H列中有一个数量。正如您现在看到的,我根据C列中的标准对J列中的价格进行平均。问题:每一行都有一个唯一的数量,因此基于H行中符合标准的数量的加权平均比基本平均价格更准确。有人知道如何改变这个公式吗 ProductHier Common Name Total Sls Total Fct 2017 avg price 2018 avg pri

我们都知道AverageIfs做什么。但是,如果我想将AverageIFs语句转换为基于另一列中数据的加权平均值,该怎么办。假设在主选项卡中,每一行在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")
ProductHier通用名称合计Sls合计Fct 2017年平均价格2018年平均价格
B1403A01附件-成品2448 2612 99 118
B1403A02附件-成品3143 3350 165 180
B1403A05附件-成品709 613 162 152
B1403A06附件-成品206 150 123 142
B1403A07附件-成品1714 1441 152 142
B1403A08附件-成品253 295 142 160
B1403A09附件-成品2447 2435 88 98
B1403A11附件-成品2334 3281 149 174
=SUMPRODUCT((主程序!C2:C5000='Forecast Calc'!D2)*主程序!H2:H5000,主程序!J2:J5000)/SUMIFS(主程序!H:H,主程序!C:C,'Forecast Calc'!D2,主程序!J:J,“0”)

使用SUMPRODUCT除以SUMIF:

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

你能模拟一些测试数据和预期输出吗?嘿,斯科特,从我的声誉可以看出,我对这个网站不太熟悉。如何上传测试数据?在excel中创建数据的简化版本,使用复制并粘贴原始帖子中的文本。突出显示新文本,然后按Ctrl-K键将其格式化为代码。因此,您希望获得基于通用名称的平均价格,但以总Fct?SumProduct?为准?使用额外的1和0列作为IF元素谢谢Scott!我在不同选项卡的D列中有常用名称。我希望使用d:d,而不是将常用名称硬编码到每个公式中。这是一个大型且不断变化的文件,有数百个常用名称。此外,必须满足以下条件,即2018年价格为0的值不得包含在平均值中。如果我将名称替换为D2,我如何使用公式将价格为0的值从平均值中排除?非常感谢!在你的方程式中,H和J指的是什么类别?对不起,我有点糊涂。我没有看到屏幕截图的超链接