Excel-基于另一列值的总和

Excel-基于另一列值的总和,excel,excel-formula,google-sheets,Excel,Excel Formula,Google Sheets,我知道这是我需要使用的某种嵌套式方程,但我无法理清逻辑。另外,我知道它的名字叫Excel,但实际上它是针对谷歌工作表的,我想这应该没什么大不了的 我的表格如下,我正在尝试自动计算[差异]: Name Action Buy Value Sell Value Difference ----------------------------------------------------------------------- John

我知道这是我需要使用的某种嵌套式方程,但我无法理清逻辑。另外,我知道它的名字叫Excel,但实际上它是针对谷歌工作表的,我想这应该没什么大不了的

我的表格如下,我正在尝试自动计算[差异]:

Name        Action        Buy Value        Sell Value        Difference
-----------------------------------------------------------------------
John        BUY           $100             --                --
John        BUY           $50              --                --
John        SELL          --               $200              $50
Sam         BUY           $25              --                -- 
Sam         BUY           $50              --                --
Sam         BUY           $50              --                --
Sam         SELL          --               $100              -$25

如果[Action]是“SELL”,如果[Action]是“Buy”,并且[Name]与“SELL”[Action]匹配,我需要对[Buy Value]进行求和。

我将为每个人创建一个小计行,其中包含买入值、卖出值的总和以及该行总和的差值

Name        Action        Buy Value        Sell Value        Difference
-----------------------------------------------------------------------
John        BUY           $100             --                --
John        BUY           $50              --                --
John        SELL          --               $200              --
John        SUBTOTAL      $150 (sum)       $200 (sum)        $50 (Sell - Buy)
Sam         BUY           $25              --                -- 
Sam         BUY           $50              --                --
Sam         BUY           $50              --                --
Sam         SELL          --               $100              --
Sam         SUBTOTAL      $125 (sum)       $100 (sum)        -$25 (Sell - Buy)

我对使用Google Sheets查询功能发表了评论,但如果您在左侧的姓名重复出现,则该功能可能不起作用,而且看起来您需要的数据与示例中的数据相同,但自动执行,因此

这在Excel中可用,但这里有一个链接,用于复制工作表版本。

正如您在我的示例中看到的,在G列中有一个helper公式

=IF(B5B4,“D”和ROW(),G4)

公式用单元格地址填充G列,其中名称列更改为新名称。F列中的公式可以使用G列中的值和间接值来创建购买值的总和范围

=IF(C5=“SELL”,E5-SUM(间接(G5&“:D”&ROW()-1)),“-”


这会自动计算差异列中的值,前提是数据按示例中的方式排列。我曾读到,在大量单元格中使用INDIRECT可能会非常累人,可能会影响性能。

根据标签,不应在标题中包含。我还没有时间尝试它,但我认为
Query
函数可能能够创建您要找的摘要。@Rubén不知道您在说什么。在带有类似“Excel-”的标题被认为是在标题中应用标签,但这在本网站上是不允许的。是的,这是一个不错的解决办法,但是因为这实际上是跟踪我的股票交易,我只需输入我的买入/卖出,并希望找到一种自动计算我的收益/损失的方法。