需要一个数组公式来计算一列的平均值,不包括零

Need an array formula to calculate average across a column, excluding zeroes

我在 Excel table 中有这个数据集:
我想计算所有客户购买产品的平均次数,其中客户至少购买过一次,我想将结果存储在另一列 D 列中。

例如... 2 位顾客购买了 "Cheddar Mature",其中一位购买了 3 次,一位购买了 5 次(上面突出显示)。因此,我要计算的值是 (3+5)/2 = 4,我希望将该值存储在单元格 D3、D4、D5、D6 和 D7 中。

我知道我需要一个数组公式来解决这个问题,但我无法使我的数组公式正确。到目前为止,这是我得到的:

{=AVERAGE(IF([Product]=[@Product],[Number Of Times Bought],0))}

这是给我的结果......不是我想要的:

如您所见,这些单元格中的答案是 0.615384615(我已经算出)是通过除以 table 中的总行数得出的,即 (3 + 5) / 13 = 0.615384615.

因此,我需要我的数组公式仅除以 "Cheddar Mature" 的销售额非零值的行数。谁能解决这个问题?

为了提供帮助,我已将工作簿放在我的 OneDrive 上,供任何想尝试解决此问题的人使用:https://1drv.ms/x/s!AjcmU60daA9VqqgSJkQ_ewOGPqkAMA

=AVERAGEIFS([Number Of Times Bought],[Product],[@Product],[Number Of Times Bought],">0")

正常输入。