体验零代码搭建

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

网友投稿  ·  2023-12-14 16:12  ·  低代码  ·  阅读 496


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表返回许多类型的结果。但是,如果您以前从未使用过它们,也许这会让您入门。


Excel中的“不推荐使用”功能?- << 上一篇
2023-12-14 15:12
sumproduct函数的使用方法及实例-
2023-12-14 16:12
下一篇 >>

相关推荐