当前位置: 首页 > Excel > Excel常用函数 > ExcelExcel技巧 > 您必须知道的两个函数可以从Excel表和数据库中返回值-Exc

您必须知道的两个函数可以从Excel表和数据库中返回值-Exc

发布时间:2020年09月27日 07:12:16 来源: 点击量:1039

【摘要】Excel提供了两个功能强大的工作表功能,它们可以从任何类型的工作表数据库中仅返回所需的数据。导出到Excel是BI应用程序中最常见的第三个按

Excel提供了两个功能强大的工作表功能,它们可以从任何类型的工作表数据库中仅返回所需的数据。

您必须知道的两个函数可以从Excel表和数据库中返回值-Excel学习网

“导出到Excel是BI应用程序中最常见的第三个按钮,单击“确定”和“取消”之后。” —

Rob Collie,Microsoft PowerPivot背后的创始人之一,现在是PowerPivotPro.com。

Rob的开玩笑是否正确(他说这很可能是正确的)说明了一个持续的挑战:Excel用户在Excel中组织和报告业务数据的最佳方法是什么?

我的文章“ 介绍Excel的三种电子表格数据库 ”介绍了将Export-to-Excel,CSV,数据透视表和其他此类数据存储为Excel数据库的三种通用方法。在“ 如何将数据透视表设置为电子表格数据库”中, 我展示了如何使用数据透视表进行操作。

现在该采取下一步了:将Excel Tables和其他Excel数据库中的数据返回到报表和分析中。

您将使用两个关键函数从Excel表和其他数据库返回值:SUMIFS和SUMPRODUCT。

SUMIFS工作表功能

Excel具有 SUMIF函数 已有很长时间了。但是SUMIF有一个严重的问题:它只能基于一个条件返回SUM。因此,在Excel 2007中,Microsoft引入了SUMIFS函数,该函数可以使用任何数量的条件。

这些函数以不同的方式排列其参数:

= SUMIF(条件范围,条件,和范围)

= SUMIFS(总和范围,标准范围,标准...)

该SUMIFS功能可以有许多的设置要criteria_ranges和标准。(可能会有上限,但是如果有上限,我怀疑您是否会达到上限。)

为避免混淆,即使您仅需要使用一个条件,我也建议您完全停止使用SUMIF函数。这样,您将习惯使用SUMIFS,并且将始终知道函数中参数的正确顺序。

SUMPRODUCT工作表功能

正式地, SUMPRODUCT函数具有以下参数:

= SUMPRODUCT(array1,array2,array3,...)

但是,您可能会发现使用它更容易:

= SUMPRODUCT(array1 * array2 * array3)

例如,如果您要查找数据中所有黑帽的总价值,则可以使用如下公式:

= SUMPRODUCT(数量*(产品=“帽子”)*(颜色=“黑色”))

(注意:如果将带引号的公式从此博客文章复制到工作表中,则会出现错误,因为HTML的引号通常与Excel使用不同的字符。因此,在Excel中,您需要替换引号您的公式(带有标准引号)。

在公式中,“金额”是产品和产品颜色表中的值列,“产品”是产品(包括帽子)列。公式的(Products =“ Hats”)部分首先解析为TRUE列,在某些情况下,乘积在某些单元格中等于大写字母;在FALSE中,乘积在其他单元格中不等于大写字母。

然后,当您将第二个数组乘以金额列时,TRUE和FALSE值切换为1(一个)和0(零)值。因此,相乘的结果是,您有一个值数组,其中乘积等于帽子,而值零则等于乘积不等于帽子。

接下来,当您乘以(Colors =“ Black”)数组时,最终数组中唯一的非零值是Amounts列中的原始值非零,而Product是一顶帽子,并且颜色为黑色。

最后,SUMPRODUCT函数添加该结果数组,为您提供所有黑帽的总值。

SUMIFS vs SUMPRODUCT,您应该使用哪个?

如果两个函数都可以在公式中使用,则建议您使用SUMIFS,这主要是因为它倾向于更快地进行计算。

但是使用SUMIFS的另一个原因是:它 在其标准值中接受 通配符。例如,条件“ h *”接受以字母“ h”开头的所有项目。(SUMIFS在其标准中忽略大小写。)

但是,SUMPRODUCT具有显着的好处:它可以使用计算。

例如,假设您有一个按日期划分的销售表,并且想要查找星期三的平均销售量。您不能使用SUMIFS进行此计算,因为您的表没有指定星期几的列。但是您可以像这样使用SUMPRODUCT:

= SUMPRODUCT(金额*(WEEKDAY(DateTime)= 4))

/ SUMPRODUCT((WEEKDAY(DateTime)= 4)* 1)

(尽管我将此公式分为两行,但实际上您会在一行中输入它。)

公式的第一行返回星期三所有销售的总额。

第二行返回找到的星期三数。它是通过生成一列TRUE和FALSE值来实现的,当我们乘以1时,这些值将转换为1和0。(加0会做同样的事情。)然后,第二行通过将所有列中的那些。

最后,该公式将第一个结果(星期三的总销售额)除以第二个结果(星期三的销售额),得出星期三的平均销售额。

请注意,某些功能不能在SUMPRODUCT函数中使用,但可以使用其中的大多数功能。

SUMIFS和SUMPRODUCT示例

让我们从这个名为Sales的Excel表中返回数据。

对于前几个示例,我设置了四个单元,分别命名为Product,Color,StartDate和EndDate。

另外,如上所述,我会将大多数公式包装到几行中,以便它们适合页面。但是,您当然要在一行中输入它们。

假设“产品”单元格包含文本“领带”,而“颜色”单元格包含“黑色”。这两个公式都将返回9,即所有“黑色领带”的总数:

= SUMIFS(销售[商品],销售[产品],产品,销售[颜色],颜色)

= SUMPRODUCT(Sales [Amts] *(Sales [Products] = Product)*(Sales [Colors == Color))

假设StartDate单元格包含日期2012-01-01,EndDate单元格包含日期2012-02-01。这两个公式都将返回24,即一月份所有销售额的总和:

= SUMIFS(Sales [Amts],Sales [DateTimes],”> =”&StartDate,Sales [DateTimes],” <”&EndDate)

= SUMPRODUCT(Sales [Amts] *(Sales [DateTimes]> = StartDate)*(Sales [DateTimes] <EndDate))

现在,让我们结合这些公式集以返回一月份售出的所有黑色领带的总数:

= SUMIFS(Sales [Amts],Sales [Products],

Product,Sales [Colors],Color,Sales [DateTimes],“> =”&StartDate,

Sales [DateTimes],“ <”&EndDate)

= SUMPRODUCT(Sales [Amts] *(Sales [Products] = Product)*

(Sales [Colors = Color)*(Sales [DateTimes]> = StartDate)*

(Sales [DateTimes]<EndDate))

(我再次包装了这些公式,但实际上您会在长行中输入每个公式。)

假设由于某种原因,我们希望所有名称以“ ts”结尾的产品的总数。

使用SUMIFS,我们可以使用通配符。在这里,名为Product2的单元格包含文本“ * ts”(即,我们有一个星号*,后跟“ ts”):

= SUMIFS(Sales [Amts],Sales [Products],Product2)

使用SUMPRODUCT,我们可以使用字符串函数返回相同的结果。因此,假设名为Product3的单元格包含文本“ ts”(也就是说,我们没有星号,只有“ ts”):

= SUMPRODUCT(Sales [Amts] *(RIGHT(Sales [Products],2)= Product3))

或者,如果我们要使用通配符,则可以使用:

= SUMPRODUCT(Sales [Amts] *(NOT(ISERROR(SEARCH(Product2,Sales [Products],2))))))

Excel的SEARCH函数可以使用通配符。但是如果什么也找不到,它将返回一个错误值。因此,如果找到了我们的搜索字符串,我们将使用NOT(ISERROR(SEARCH([whatever])))返回TRUE,否则返回FALSE。

您可以使用SUMIFS和SUMPRODUCT从Excel表返回许多类型的结果。但是,如果您以前从未使用过它们,也许这会让您入门。

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部