为产品列支付的价格

Price payed for the products column

我整天都被这个问题困扰,找不到任何解决方案来解决我的问题。

我有一个 sheet,类似于:https://docs.google.com/spreadsheets/d/1M1yj_FC_dGOjRxQv-Z-toE-niL_o3XkGEch6mGlebNg/edit?usp=sharing

我需要一种方法来填充 BUY PRICE 列,其中包含为产品支付的价格。

操作按日期排序(我用一个ID来简化)。

基本上是D3电芯,需要充值10美金。因为店里有3个库存。

D9 电池需要填充 20 美元的价格,因为在第一次购买 B 产品时,我每一个单位支付 15 美元,后来,我每 25 美元购买了更多的两个(第六行)。

如果我是卖家,只有一个产品 B,单价是 15 美元,但是,我在第 8 行销售两个 B 产品,所以,我需要计算我库存中单位价值的平均值。

我尝试使用 FILTER 函数解决它,但不起作用。

=IF(
        $C2="SELL";
                FILTER(
                        $F:$F;
                        $A:$A<=$A2;
                        $B:$B=$B2
                );
        "-"
)

这就像一个指定的问题。但是我找不到解决它的方法。

=IF(C2="SELL", AVERAGE(QUERY({INDIRECT("A1:C"&ROW()),INDIRECT("E1:G"&ROW())}, 
 "select Col5 where Col2='"&B2&"' and Col3='BUY' limit "&E2&"offset "&
 SUMIFS(INDIRECT("E1:E"&ROW()-1), 
 INDIRECT("B1:B"&ROW()-1), B2, INDIRECT("C1:C"&ROW()-1), "=SELL"), 0)), "-")