Google sheets 为“产品”列支付的价格

Google sheets 为“产品”列支付的价格,google-sheets,mathematical-optimization,google-sheets-formula,google-sheets-query,Google Sheets,Mathematical Optimization,Google Sheets Formula,Google Sheets Query,我一整天都在忙这个,我找不到任何解决问题的办法 我有一张床单,类似于: 我需要一种方法来填充购买价格列,其中包含为产品支付的价格 操作按日期排序(我使用ID来简化) 基本上是D3电池,需要填充10美元的价格。因为这家商店有3个存货 D9单元需要填入20美元的价格,因为在第一次购买B产品时,我每单位支付15美元,稍后,我每25美元购买两个以上(第六行) 如果我只卖了一个产品B,单价是15美元,但是,我在第8行卖了两个产品B,所以,我需要计算股票中我的单位价值的平均值 我试图使用过滤器功能解决它,但

我一整天都在忙这个,我找不到任何解决问题的办法

我有一张床单,类似于:

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

操作按日期排序(我使用ID来简化)

基本上是D3电池,需要填充10美元的价格。因为这家商店有3个存货

D9单元需要填入20美元的价格,因为在第一次购买B产品时,我每单位支付15美元,稍后,我每25美元购买两个以上(第六行)

如果我只卖了一个产品B,单价是15美元,但是,我在第8行卖了两个产品B,所以,我需要计算股票中我的单位价值的平均值

我试图使用
过滤器
功能解决它,但没有成功

=IF(
        $C2="SELL";
                FILTER(
                        $F$2:$F;
                        $A$2:$A<=$A2;
                        $B$2:$B=$B2
                );
        "-"
)
=IF(
$C2=“出售”;
滤器(
$F$2:$F;
$A$2$A

现在我可以在我的主要项目中简化公式:
=IF($C7=“VENDA”;AVERAGE(查询($A$2:$S6;“选择p,其中C='COMPRA'和A=”)&$A7&“'limit”&G7&“offset”&(SUMIFS($G$2:$G6;$C$2:$C6;“COMPRA”$A$2:$A6;$A7)-(SUMIFS($G$2:$G6;$C$2:$C6;“VENDA”;$A”);$2:$A7))$G7)+>
=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)), "-")