image

在本文中,我们将学习如何在Excel中使用IF函数代替SUMPRODUCT和SUMIFS函数。

方案:

简而言之,当使用长而分散的数据集时,有时我们需要找到带有一些条件的数字总和。例如,查找特定部门的薪金总和,或者在日期,名称,部门或什至可以对数据进行编号,甚至可以对诸如低于价值的薪水或高于价值的数量的数据进行编号。为此,通常使用SUMPRODUCT或SUMIFS函数。但是您不会相信,您执行的功能与Excel基本功能IF函数相同。

如何解决问题?

您必须考虑如何使用IF函数对表数组执行逻辑运算。 excel中的IF函数非常有用,它将带您完成Excel或其他任何编码语言中的一些困难任务。 IF函数测试与所需值相对应的数组上的条件,并将结果作为与True条件相对应的数组作为1和False作为0返回。对于此问题,我们将使用以下功能:

link:/ math-and-trig-excel-sum-function [SUM function]

link:/ tips-if-condition-in-excel [IF function]

我们将需要以上这些功能和一些基本的数据操作意义。可以使用逻辑运算符在阵列上应用逻辑条件。这些逻辑运算符可同时处理文本和数字。下面是通用公式。 \ {} *花括号是使用IF函数执行数组公式的神奇工具。

通用公式:

注意:对于花括号(\ {}),在Excel中处理数组或范围时,请使用Ctrl + Shift + Enter *。默认情况下,这将在公式上生成大括号。不要尝试对花括号字符进行硬编码。

\{* =

SUM (

IF (

(logical_1) (logical_2) … (logical_n) , sum_array ) ) }*

逻辑1:在数组1上测试条件1逻辑2:在数组2上测试条件2,依此类推sum_array:数组,执行操作

| ===示例:

所有这些可能会使您难以理解。因此,让我们通过在以下示例中运行此公式来测试该公式。在这里,我们获得了交付产品到不同城市的数据以及相应的类别字段和数量。这里我们有数据,我们需要找到发送到Boston的cookie数量,该数量大于40。数据表和标准表如上图所示。为了理解目的,我们为使用的数组使用了命名范围。下面列出了命名范围。

这里:

image

为数组A2:A17定义的城市。

为数组B2:A17定义的类别。

为数组C2:C17定义的数量。

现在,您可以使用以下公式来获得所需的结果。

使用公式:

说明:

。 City =“ Boston”:检查城市范围内的值是否与“ Boston”匹配。

\{ =

SUM (

IF (

(City=”Boston”) (Category=”Cookies”) (Quantity>40) , Quantity))

}*

。 Category =“ Cookies”:检查“类别”范围内的值是否与“ Cookies”匹配。

。数量> 40:检查“数量范围”中的值。数量是需要总和的数组。

。 IF函数检查所有条件,并将所有数组结果乘以星号char(*)。

SUM(IF(\ {0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 1; 0; 0; 0},\ {33; 87; 58; 38; 54; 51; 28; 36; 28; 44; 23; 27; 43; 42; 33; 30})))

。现在,IF函数仅返回对应于1的数量,其余部分将被忽略。

。 SUM函数返回SUM。

现在,与1对应的数量之和才得到结果。

如您所见,返回了数量43,但是有三个Cookie订单已交付给“波士顿”,数量分别为38、36和43。我们需要数量大于40的数量总和。因此,该公式仅返回43。现在,使用其他条件来获取城市的总和:“洛杉矶”和类别:“酒吧”的总和小于50。使用公式*

如您所见,该公式返回值86作为结果。

image

|是满足数量为44和42的条件的2个订单的总和。 这篇文章说明了如何在数组公式中用单个IF替换`link:/ logical-formulas-excel-nested-if-function [嵌套IF公式]`。这可以用来减少复杂公式的复杂性。但是,可以通过`link:/ summing-excel-sumifs-function [SUMIFS]’或`link:/ summing-excel-sumproducts-function [SUMPRODUCT]`function轻松解决此特定问题。

\{* =

SUM (

IF ( ( City =

“Los Angeles”) (Category=”Bars”) (Quantity < 50), Quantity ) ) }

image

使用SUMPRODUCT函数:

SUMPRODUCT函数返回数组中相应值的总和。因此,我们将使数组返回True语句值1s和False语句值0s。因此,在所有语句都为True的情况下,最后一个和将是对应的。

使用公式:

-:用于将所有TRUE转换为1并将False转换为0的操作。 SUMPRODUCT函数重新检查上述SUM和IF函数返回的数量的SUM。

同样,对于第二个示例,结果相同。

如您所见,SUMPRODUCT函数可以执行相同的任务。

=

SUMPRODUCT

( — (City = “Boston”) , — (Category = “Cookies”) , — (Quantity > 40)

, Quantity )

这是有关使用该公式的所有观察注意事项。

image

注意:

。公式中的sum_array仅适用于数字。

image

。如果该公式返回#VALUE错误,请检查公式中是否包含花括号,如本文示例所示。

。负数(-)char将值,TRUE或1更改为FALSE或0以及将FALSE或0s更改为TRUE或1s。

。等于(=),小于等于(⇐,大于(>)或不等于(<> *)之类的运算可以在仅使用数字的公式内执行。

希望本文有关如何在Excel中如何使用IF函数代替SUMPRODUCT和SUMIFS函数进行解释。在这里找到更多关于求和公式的文章。如果您喜欢我们的博客,请在Facebook上与您的朋友分享。您也可以在Twitter和Facebook上关注我们。我们希望收到您的来信,请让我们知道我们如何改进,补充或创新我们的工作,并为您做得更好。写信给我们[email protected]

相关文章:

链接:/ summing-excel-sumproduct-function [如何在Excel中使用SUMPRODUCT函数]:在excel中将多个数组中的值相乘后返回SUM。

link:/ summing-sum-if-date-is-between [如果日期介于之间,则为SUM]:返回Excel中给定日期或期间之间的值的SUM。

`link:/ summing-sum-if-date-大于给定日期[如果日期大于给定日期,则为总和]’:*返回excel中给定日期或时期后的值的总和。

`link:/ summing-2-ways-to-to-sum-by-month-in-excel [2 Excel中按月求和的方式]’:*返回excel中给定特定月份内的值的总和。

如何用条件求和多列:*返回Excel中有条件的多个列的值的和。

热门文章:

`link:/ keyboard-formula-shortcuts-50-excel-shortcuts来提高您的生产率[50 Excel Shortcut以提高生产率]:更快地完成任务。这50个快捷键将使您在Excel上的工作速度更快。

如何在Excel中使用VLOOKUP函数‘:这是excel中最常用和最受欢迎的函数之一,用于从不同范围查找值和床单。链接:/ tips-countif-in-microsoft-excel [如何在Excel中使用COUNTIF函数]:使用此惊人的函数对条件进行计数。您无需过滤数据即可计算特定值。 Countif功能对于准备仪表板至关重要。

链接:/ excel-formula-and-function-excel-sumif-function [如何在Excel中使用SUMIF函数]:这是另一个仪表板必需的功能。这可以帮助您汇总特定条件下的值。