在EXCEL中汇总A列中满足某些条件的单元格对应B列单元格数字之和

A B C
1 3 汇总A列中大于等于1小于等于3对应B列单元格数字之和
2 5 汇总A列中大于等于4小于等于7对应B列单元格数字之和
3 7 汇总A列中大于等于8小于等于10对应B列单元格数字之和
4 9
5 11
6 13
7 15
8 17
9 19
10 21

一、如果是是要满足一个条件,则用SUMIF函数

 

1、SUMIF函数的定义

根据指定条件对若干单元格求和。

语法

SUMIF(range,criteria,sum_range)

Range    为用于条件判断的单元格区域。

Criteria    为确定哪些单元格将被相加求和的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、"32"、">32" 或 "apples"。

Sum_range    是需要求和的实际单元格。

说明

只有在区域中相应的单元格符合条件的情况下,sum_range 中的单元格才求和。

如果忽略了 sum_range,则对区域中的单元格求和。

Microsoft Excel 还提供了其他一些函数,它们可根据条件来分析数据。例如,如果要计算单元格区域内某个文本字符串或数字出现的次数,则可使用 COUNTIF 函数。如果要让公式根据某一条件返回两个数值中的某一值(例如,根据指定销售额返回销售红利),则可使用 IF 函数。

2、举例

 

(1)假设要求出A列名字为张三,B列的收入总数值,则公式可以写成(在A,B列以外的任一单元格写入)

=SUMIF(A:A,"张三",B:B)

 

(2)假设A列为姓名,B列的收入值,要在D1单元格得出C1单元格所标示的姓名的收入总值(即”张三“这个名字写在C1单元格中),则D1单元格的公式可以写成

=SUMIF(A:A,C1,B:B)

 

二、如果是要满足多个条件,则用SUMIFS函数

 

1、SUMIFS函数的定义

对范围中满足多个条件的单元格求和。例如,如果需要对区域 A1:A20 中符合以下条件的单元格的数值求和:B1:B20 中相应单元格的数值大于零且 C1:C20 中相应单元格的数值小于 10,则可以使用以下公式:

=SUMIFS(A1:A20, B1:B20, ">0", C1:C20, "<10")

重要  SUMIFS 和 SUMIF 函数的参数顺序有所不同。具体而言,sum_range 参数在 SUMIFS 中是第一个参数,而在 SUMIF 中则是第三个参数。如果要复制和编辑这些相似函数,请确保按正确的顺序放置参数。

语法

SUMIFS(sum_range, criteria_range1, criteria1,
[criteria_range2, criteria2], …)

SUMIFS 函数语法具有下列参数:

    sum_range    必需。对一个或多个单元格求和,包括数值或包含数值的名称、区域或单元格引用。忽略空白和文本值。

    criteria_range1    必需。在其中计算关联条件的第一个区域。

    criteria1    必需。条件的形式为数字、表达式、单元格引用或文本,可用来定义将对 criteria_range1 参数中的哪些单元格求和。例如,条件可以表示为 32、">32"、B4、"苹果" 或 "32"。

    criteria_range2, criteria2, …    可选。附加的区域及其关联条件。最多允许 127 个区域/条件对。

注解

    仅在 sum_range 参数中的单元格满足所有相应的指定条件时,才对该单元格求和。例如,假设一个公式中包含两个 criteria_range 参数。如果 criteria_range1 的第一个单元格满足 criteria1,而 criteria_range2 的第一个单元格满足 critera2,则 sum_range 的第一个单元格计入总和中。对于指定区域中的其余单元格,依此类推。

    sum_range 中包含 TRUE 的单元格计算为 1;sum_range 中包含 FALSE 的单元格计算为 0(零)。

    与 SUMIF 函数中的区域和条件参数不同,SUMIFS 函数中每个 criteria_range 参数包含的行数和列数必须与 sum_range 参数相同。

    您可以在条件中使用通配符,即问号 (?) 和星号 (*)。问号匹配任一单个字符;星号匹配任一字符序列。如果要查找实际的问号或星号,请在字符前键入波形符 (~)。

 

2、举例

 

(1)假设要求出A列名字为张三,B列内容为“收入”或“支入”,C列数据的总数值,则公式可以写成(在A,B,C列以外的任一单元格写入)

=SUMIFS(C:C,A:A,"张三",B:B,"收入")

 

(2)假设A列为姓名,B列的“收入”或“支出”,C列为钱数,要在F1单元格得出D1单元格所标示的姓名,E1标示的“收入”或是”支出“,得出C列对应数据的总值(即”张三“这个名字写在C1单元格中,“收入”或“支出”写在E1单元格),则F1单元格的公式可以写成

=SUMIFS(C:C,A:A,D1,B:B,E1)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
=sumproduct((a1:a100>=1)*(a1:a100<=3)*b1:b100)
=sumproduct((a1:a100>=4)*(a1:a100<=7)*b1:b100)
=sumproduct((a1:a100>=8)*(a1:a100<=10)*b1:b100)
公式假设数据是1行到100行追问

如果是A列整列和B列整列呢,公式该如何改

追答

整列?
那不用行号了,'
=sumproduct((a:a>=1)*(a:a<=3)*b:b1)
这样就行。
如果出现#num
表示你根本不是整列

追问

=sumproduct((a:a>=1)*(a:a=1)*(a:a<=3)*b:b)
得出的就是#num
另外“你根本不是整列”什么概念,
我的意思是在A列整列种筛选满足条件的单元格,
不知道我说明白没有

追答

2003中是65536行,2007及以上是1048576行
你所说整列,那表示如果你是2003
我开始给的公式中100,你修改为65536,整列,你看一下你到底这一列有多少行。
以你给的例子来讲,就是10行。
你实际数据有多少行,公式中100就修改为多少行。

追问

必须得有一个具体的列数么?因为我这个表格出来的列数不一定,如果按你说的填65536来统计全列的话,那么该表格的处理速度是不是会非常慢?

追答

慢到不至于。
ABC就列,1234这叫行。
你一直说的行列让人容易混淆你到底是问的什么。
不固定的话,用counta判断
=sumproduct((indirect("a1:a"&counta(A:A))>=1)*((indirect("a1:a"&counta(A:A))<=3)*(indirect("b1:b"&counta(A:A)))

本回答被提问者采纳
第2个回答  2011-11-07
=SUMPRODUCT((A2:A11>=1)*(A2:A11<=3)*B2:B11)
=SUMPRODUCT((A2:A11>=4)*(A2:A11<=7)*B2:B11)
=SUMPRODUCT((A2:A11>=8)*(A2:A11<=10)*B2:B11)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网