标签:Excel函数,DSUM函数
在Excel中,要求和首先想到的一定是SUM函数,如果要进行条件求和,大多数人会想到使用嵌套的IF函数,还有一部分熟悉Excel函数的人会想到使用SUMIF函数和SUMIFS函数。
然而,本文讲解的DSUM函数,与上述这些求和函数一样强大。
需要求和的问题
如下图1的示例数据。
图1
要求计算:
1.总营收
2.“运行”大于35且“公里数”大于100000的营收之和
3.除“北区”外所有区域的营收之和;“运行”大于10且小于50的营收之和
4.“北区”且“公共汽车”和“迷你巴士”的“运行”大于10且小于50的营收之和
DSUM函数
DSUM函数的语法:
DSUM(database,field,criteria)
其中,
database:包含标题的数据区域。
field:想要求和的列。在示例中是“营收”列。
criteria:汲及条件的单元格区域。
DSUM函数与其它函数有所不同,它是一个数据库函数。D=Database(数据库)。
对Excel来说,数据库往往有不同的术语。例如:
对于数据库,我们使用数据区域或表,或者干脆使用单元格区域。
数据库有字段,而在Excel中称之为列。
数据库有记录,而在Excel中称之为行。
了解DSUM条件的工作原理
正如之前提到的,对于DSUM,在单元格区域中表达条件,这些单元格遵循与数据库本身相同的结构。
示例1:假设只想计算“东区”的总营收
1.输入与主数据区域中的标题完全相同的标题。在示例中,就是单元格H2单元中输入的“区域”。
2.在单元格H3中输入:’=东区,按下回车键。
注意,在等号之前放置了撇号,这是为了确保输入是基于文本的。按Enter键时,将看不到撇号。
3.在单元格H8中输入公式:
=DSUM(A1:E19,"营收",H2:H3)
图2
示例2:假设只想计算东区和西区的总收入
为此,需要对条件区域和公式进行更改。
1.在单元格H4中输入:’=西区。
2.更改单元格H8中的公式:
=DSUM(A1:E19,"营收",H2:H4)
可以看到,当条件区域添加一行时,公式从H2:H3变为H2:H4,以适应新的条件。
图3
这里需要理解的一个要点是,东区和西区是两个独立的记录,它们中的每一个都可以有独立于彼此的附加条件。稍后会举例说明。
需求问题解答
现在让我们解答本文开头提出的需求。
在条件区域添加几列,使其包括数据区域的相关字段。然后,将数据区域转换成表。
图4
问题1:计算总营收
这个很简单。只需删除条件字段下的任何内容,结果将自动成为总收入。
将单元格H8中的公式更改如下:
=DSUM(表1[#全部],"营收",H2:K3)
以上公式将给出总收入。只需选择“营收”列(不包括标题)并检查下面状态栏中的信息,即可确认总营收。
图5
假设要计算除南区以外所有区域的总营收,则需要在区域下给出条件:’<>南区。
“<>”只是表示“不等于”,无需更改公式,下图6显示了该过程:
图6
问题2:“运行”大于35且“公里数”大于100000的营收之和
同样,只需在条件区域行中输入条件:
对于“运行”:’>35
对于“公里数”:’>100000
结果如下图7所示。
图7
注意,要确保条件区域中只有一行,否则它将不起作用。原因是,如果有一行带有条件,而第二行为空,那么空行将使第一行中的条件无效,因此将会看到与问题1相同的总收入数字。
问题3:除“北区”外所有区域的营收之和,并且“运行”大于10且小于50的营收之和
在条件区域内,已经有一个“运行”字段,其中可以输入条件:大于10,但要实现条件:小于50,必须添加另一个具有相同标题(即“运行”)的字段。
在第1个“运行”字段下输入:’>10
在第2个“运行”字段下输入:’<50
将单元格H8中的公式修改为:
=DSUM(表1[#全部],"营收",H2:L3)
图8
问题4:“北区”且“公共汽车”和“迷你巴士”的“运行”大于10且小于50的营收之和
在条件区域中添加一行,将输入相应的条件。并将H8中的公式修改为:
=DSUM(表1[#全部],"营收",H2:L4)
图9
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
每日精进:2022.2.20 16:40-17:40 研读《普林斯顿微积分读本(修订版)》9.3 对数函数和指数函数求导 9.4 求解指数函数或对数函数的极限