簡體   English   中英

如何根據多個行標准計算 ArrayFormula 內的加權平均值?

[英]How to calculate weighted average inside an ArrayFormula based on multiple row-criteria?

我一直在嘗試解決一個問題,但我還沒有弄清楚如何做到這一點。

基本上,我需要根據多個標准計算加權平均值。 該標准將從ArrayFormula中檢索(這意味着我有具有不同標准值的列,並且我想使用ArrayFormula根據該標准自動填充平均值)。

這是我在“主”表上的結構:主表結構

這就是我正在“搜索”的表:搜索表結構

“搜索”表的工作方式類似於平衡用戶所做的所有操作。 它包含所有購買和銷售,以及相應的價格和數量。

基本上,我需要用戶和股票代碼的購買價格加權平均值,其中價格是價值,數量是權重。 以上面的圖片為例:“計算屬於 example@example.com 的股票 ABEV3 的加權平均購買價格”。 但這必須使用ArrayFormula.

在實現ArrayFormula之前,我成功地使用了查詢,但我發現在WHERE子句上使用“Array”時QUERYArrayFormula不兼容。 我也嘗試使用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)))

0

https://www.wallstreetmojo.com/average-vs-weighted-average/

所以,我設法做了一個解決方法。

我創建了另一張表來保存所有總和和分組查詢。

在該表上,我查詢了交易表兩次,一次用於買入操作,另一次用於賣出操作,並按用戶和股票代碼對它們進行分組。 結果是這樣的。

之后,一旦添加了事務,該表上的行就會自動更新,只需在該查詢間隔上執行VLOOKUP即可。

為什么對我有好處? 因為我需要總數用於其他目的,這可以滿足這兩個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM