分享

条件求和——Excel公式的拿手好戏

 燕尾蝶235 2015-05-21



在Excel中,如何汇总茶叶中铁观音的销售量


在工作中,经常需要对数据进行求和,有时候还需要对满足某个特定条件的数据求和。如图79?1所示为某茶企2010年1月份的茶叶销售数据,如何对其中的“铁观音”销售量进行求和?

79?1茶叶销售数据表


→ 解决方案1

使用SUMIF函数进行单条件求和。


→ 操作方法

G3单元格输入下列公式:

=SUMIF(B3:B26,F3,D3:D26)


→ 原理分析

SUMIF函数单条件求和

本例中设置条件区域为B3:B26,条件为F3单元格,求和区域为D3:D26,使用SUMIF函数进行单条件求和求出铁观音的销售量。

SUMIF 函数语法如下:

SUMIF(range, criteria,[sum_range])

其中,range参数表示用于条件计算的单元格区域。每个区域中的单元格都必须是数字或名称、数组或包含数字的引用。空值和文本值将被忽略。criteria参数表示用于确定对哪些单元格求和的条件,其形式可以为数字、表达式、单元格引用、文本或函数。例如,条件可以表示为 32'>32'B5'32''苹果' TODAY()

sum_range参数为可选参数,是需要求和的实际单元格。如果 sum_range 参数被省略,Excel 会对在 range 参数中指定的单元格(即应用条件的单元格)求和。


→ 知识扩展

SUMIF函数第3参数的简写形式

SUMIF函数的sum_range 参数与 range 参数的大小和形状可以不同,但实际求和区域是以sum_range参数左上角单元格为起始单元格的大小和形状与range参数一致的区域。例如以下2个公式计算效果一致:

公式1 =SUMIF(B3:B26,F3,D3)

公式2 =SUMIF(B3:B26,F3,D3:E4)

公式1是常用的简写形式。但由于与range参数大小、形状不一致,公式在计算时需要根据range参数重新定位sum_range参数所对应的单元格区域,因而表现出“易失性”现象。

SUMIF函数中使用通配符和数组

SUMIF函数支持在 criteria 参数中使用通配符(包括'?''*')。例如要求出品名中最后一个字为“茶”的茶叶销售量,可以使用如下公式:

=SUMIF(B3:B26,'*',D3:D26)

criteria 参数还可以使用数组。例如要求出其中铁观音和龙井的销售量之和,可以使用如下公式:

=SUM(SUMIF(B3:B26,{'铁观音';'龙井'},D3:D26))

其中,SUMIF函数计算得出的计算结果为21列的内存数组,再使用SUM函数对此结果求和。由于使用常量数组,因此可以不必按<Ctrl+Shift+Enter>组合键。


→ 解决方案2

使用DSUM函数进行单条件求和。


→ 操作方法

G3单元格输入下列公式之一,按Enter键结束。

公式1 =DSUM(A2:D26,4,F2:F3)

公式2 =DSUM(A2:D26,D2,F2:F3)

公式3 =DSUM(A2:D26,'销售量',F2:F3)


→ 原理分析

本例中以A2:D26为列表的单元格区域,field参数设置为4(即表示对区域中的第四列求和),条件区域设置为F2:F3,使用DSUM函数进行单条件求和求出铁观音的销售量。公式2、公式3field参数的不同表示方式。

DSUM函数用于返回列表或数据库中满足指定条件的记录字段(列)中的数字之和。语法如下:

DSUM(database, field,criteria)

其中,database参数为构成列表或数据库的单元格区域;field参数为指定函数所使用的列。输入两端带双引号的列标签,如 '品名' '销售量';或是代表列在列表中的位置的数字:1 表示第一列,2 表示第二列,依此类推;criteria参数为包含指定条件的单元格区域。可以为参数 criteria 指定任意区域,只要此区域包含至少一个列标签,并且列标签下方包含至少一个指定列条件的单元格。


→ 知识扩展

Excel中数据库的特征

数据库是包含一组相关数据的列表,其中包含相关信息的“行”为记录,而包含数据的“列”为字段。列表的第一行包含每一列的标签,必须具备字段名唯一的特征,不得使用同名字段,同时也不能使用合并单元格。


数据库函数条件参数设置要点


1.设置单列单条件:条件区域包含列标志(即字段名)和条件,字段名下方为条件数据。如果条件为空单元格,则汇总所有数据。单列单条件区域设置如 79?1F2:F3单元格区域所示。


2.设置单列多个“或”条件:OR(1条件,行2条件,……,行n条件)。在条件区域的字段名下方的单独行中依次键入条件。例如汇总铁观音与毛尖的销售量之和,条件区域设置如 79?2K1:K3单元格区域所示。

79?2设置单列多条件区域


3.设置多列“且”条件:AND(1条件,列2条件,……,列n条件)。多个字段名放在同一行,条件放在字段名下方的同一行中。例如汇总铁观音在2010110日之后的销售量之和,条件区域设置如 79?3K1:L2单元格区域所示。

79?3设置多列并列条件区域


4.设置多列“或”条件:OR(1条件,列2条件,……,列n条件)。多个字段名放在同一行,条件放在字段名下方的不同行中。例如汇总铁观音及日期小于等于2010110日的销售量之和,条件区域设置如 79?4K1:L3单元格区域所示。

79?4设置多列“或”条件区域


5.设置多列复合条件:OR(AND(条件,……)AND(条件,……))。多个字段名放在同一行,同行条件为并,不同行条件为或。例如汇总铁观音在2010110日之前的销售量与日期大于2010120日的销售量总和,条件区域设置如 79?5K1:L3单元格区域所示。

79?5设置多列复合条件区域


6.在条件中使用通配符:在条件中可以使用问号(?)、星号(*)等通配符设置模糊条件。例如汇总品名中包含“龙”字的所有销售量之和,条件区域设置如 79?6K1:K2单元格区域所示。

79?6使用通配符做条件


7.在条件中使用公式:在数据库函数的条件区域中使用公式,与高级筛选条件区域的公式设置相似。例如汇总大于平均值的销售量之和,则在K2单元格输入下列公式作为条件:

=D3>AVERAGE($D$3:$D$26)

条件区域设置如的K1:K2单元格区域所示。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多