在Excel中,对每行中一列中的所有值求和,其中另一列是特定值

时间:2013-01-22 17:00:47

标签: excel excel-formula

我想知道是否有一种简单的方法来做我正在寻找的东西。基本上,我在Excel 2011中有一堆资产表和一堆数据。我一直希望看到的一条特定信息是尚未报销的金额。换句话说,我有一个支付金额的列,另一个是否已经报销(是/否)。我希望将报销字段等于“否”的所有已支付金额相加。

我知道我可以对整个列进行求和并过滤掉那些已经报销过的列,但是我希望它能显示全部数量,无论过滤器是什么(或者没有过滤器打开)。

我无法找到好的关键字来向Google描述这一点,所以我在这里问。我想在Excel中完成此操作,而不是在外部程序或脚本中完成。

3 个答案:

答案 0 :(得分:108)

如果A列包含要报销的金额,而B列包含“是/否”,表明是否已经报销,则以下任何一种方法都可以,但建议使用第一个选项:

=SUMIF(B:B,"No",A:A)

=SUMIFS(A:A,B:B,"No")

这是一个示例,它将显示一小组样本数据的已支付金额和未付金额。

 A         B            C                   D
 Amount    Reimbursed?  Total Paid:         =SUMIF(B:B,"Yes",A:A)
 $100      Yes          Total Outstanding:  =SUMIF(B:B,"No",A:A)
 $200      No           
 $300      No
 $400      Yes
 $500      No

Result of Excel calculations

答案 1 :(得分:18)

您可以使用SUMIF执行此操作。这允许您对单元格中的值进行求和,以使另一个单元格中的值满足指定的条件。这是一个例子:

 -   A         B
 1   100       YES
 2   100       YES
 3   100       NO

使用公式:=SUMIF(B1:B3, "YES", A1:A3),您将获得200的结果。

以下是我在Excel中执行的一个工作示例的屏幕截图:

Excel SUMIF Example

答案 2 :(得分:1)

您应该能够使用IF功能。语法是=IF(condition, value_if_true, value_if_false)。要添加仅包含非报销金额的额外列,您可以使用以下内容:

=IF(B1="No", A1, 0)

并总结一下。可能有一种方法可以将它包含在列下方的单个单元格中,但是在我的脑海中,我想不出任何简单的事情。