我一直在努力解决一个问题,但我还没有想出如何去做。
基本上,我需要根据多个标准计算加权平均值。该标准将从
ArrayFormula
中检索(这意味着我有具有不同标准值的列,并且我想使用 ArrayFormula
根据该标准自动填充平均值)。
“搜索”表就像一个天平,包含用户所做的所有操作。它包含所有买卖,以及相应的价格和数量。
基本上,我需要按用户和股票代码加权平均的购买价格,其中价格是价值,数量是权重。以上图为例:“计算属于 [email protected] 的代码 ABEV3 的加权平均购买价格”。但这必须迭代到每一行,使用
ArrayFormula.
在实施
ArrayFormula
之前,我成功地使用了查询,但我发现在QUERY
子句上使用“数组”时,ArrayFormula
和WHERE
不兼容。我也尝试使用SUMPRODUCT
,将它与FILTER
配对,但它返回大小不匹配错误。
重要提示: 在“主”表上,不同用户可以使用相同的代码,但同一用户的两次代码不能相同。它像数据库中的复合主键一样工作。
提前致谢!
我的工作表副本可在此处获得。
尝试:
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&B2:B; QUERY(FILTER({
'Transactions - Variable Income'!A2:A&'Transactions - Variable Income'!B2:B\
'Transactions - Variable Income'!D2:D*'Transactions - Variable Income'!E2:E};
'Transactions - Variable Income'!C2:C="buy");
"select Col1,avg(Col2) group by Col1"); 2; 0)))
(https://www.wallstreetmojo.com/average-vs-weighted-average/)