标签:Excel公式,SUMPRODUCT函数 基于列中的条件求和通常使用SUMIF函数或者SUMIFS函数,特别是涉及到多条件求和时。然而,随着条件的增多,公式将会变得很长,难以理解。...而使用SUMPRODUCT函数,可以判断同一列中的多个条件且公式简洁。 如下图1所示的示例。...*($C$2:$C$12)) 公式中,使用加号(+)来连接条件,表明满足这两个条件之一。...也可以使用下面更简洁的公式: =SUMPRODUCT(($A$2:$A$12="东区")*(($B$2:$B$12={"超市1","超市2"}))*($C$2:$C$12)) 公式中,使用了花括号,允许在其中放置多个条件...,因此,如果需要满足的条件更多的话,就可以通过逗号分隔符将它们放置在花括号中,公式更简洁。
标签:公式练习 在使用Excel时,经常会遇到根据多个条件求相应的和的问题。 示例数据如下图1所示。工作表中有两个表,一个是活动的全部数据,另一个列出了其中暂停活动的列表。...要求: 1.计算除暂停列表中的活动外,其它所有活动的总小时数。 2.计算除暂停列表中的活动外,其它所有活动中例行活动的总小时数。...问题的解决实质上仍然涉及到查找,找到不属于暂停列表中的活动,求相应的小时数之和,然后再求这些活动中例行活动的小时数之和。...经过上述公式的编写后,对问题的理解更深入了,可以得出第6种解法。...注:在知识星球完美Excel社群可以下载本文配套示例工作簿。
引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。 本次的练习是:示例数据如下图1所示。...图1 现在,想根据列A中的数据对列B中的值汇总。例如,对于列A中的“A”来说,在列B中对应的值是:1、13、14、15、16、17、18,其和为94。...要求只能使用公式,不能使用VBA,仅能使用上述两个命名区域名称,不能使用填充功能填充空单元格。 请写下你的公式。 解决方案 公式1:数组公式。...5:数组公式。...…… 公式并没有给出详细的解析,有兴趣的朋友可以参照前面推送的有关分析公式的文章对这些公式进行解析,相信对理解Excel函数,编写公式解决问题会有很大的帮助。
excelperfect 条件格式是有趣的,特别是使用公式并链接条件到单元格中时。下面是使用公式的条件格式的一些说明: 1.条件格式意味着如果条件满足应会应用设定的格式。...4.评估为TRUE或FALSE的逻辑公式可以用于创建条件格式。 5.条件格式可以使用非数组公式和数组公式。 6.条件格式是易失性的:经常重新计算,减慢整个工作表的计算时间。...(10)单击“确定”关闭“条件格式规则管理器”对话框。 如下图1所示,高亮显示单元格A11中指定的城市名的最小时间所在的行。注意,混合引用$B3允许每个单元格将指定城市的最小值与列B中时间值比较。...图1 如下图2所示,设置条件格式高亮显示指定赛车手最快的两个时间所在的行。在单元格A17中指定赛车手的姓名,单元格B17中指定要显示的时间数量。...单元格D18中的数组公式计算得到指定的时间并作为条件格式的辅助单元格。 ? 图2 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
一、前言 前几天在Python黄金交流群【ᝰꫛꫀꪝ⁵²º⅓¼】问了一个Excel公式问题。问题如下:有大佬在么 =SUMIFS(I:I,D:D,"周二",!...E:E,"鞋子")+SUMIFS(I:I,D:D,"周一",E:E,"鞋子"),这个相加的函数怎么合并到一起?...E:E,"鞋子")) 之前在学习的时候,确实有点印象,没想到今天还真的派上用场了。顺利地解决了粉丝的问题。 如果你也有类似这种数据分析的小问题,欢迎随时来交流群学习交流哦,有问必答!...这篇文章主要盘点了一个Pandas自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
学习Excel技术,关注微信公众号: excelperfect 本次的练习是:在Excel中,我们经常要基于多个OR条件进行计数或求和。...在单元格F9中的公式为: =SUMPRODUCT(ISNUMBER(MATCH(项目,{"T恤衫","连帽衫"},0))*1) 公式中的MATCH函数在“项目”列中查找“T恤衫”或“连帽衫”,返回由数字...: {1;0;0;1;1;0;1;1;0;1;0;1;0;0} 传递给SUMPRODUCT函数求和得到满足条件的项目数: 7 在单元格G9中的公式为: =SUMPRODUCT(ISNUMBER(MATCH...(项目,{"T恤衫","连帽衫"},0))*ISNUMBER(MATCH(颜色,{"红色","蓝色","绿色"},0))) 公式中,每个ISNUMBER函数的原理与上面相同,将两个1/0组成的数组对应项相乘...注意MATCH函数获取结果的过程。 2. 乘号用来实现与条件。 注:本次的练习整理自exceljet.net。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
有时候,我们需要根据多个条件在数据表中查找值,此时,就需要使用一些公式技巧了。本文的示例使用INDEX函数/MATCH函数组合的数组公式来实现多条件查找。...示例1:满足两个条件 如下图1所示,需要查找指定汽车制造商的车型的售价。其中,单元格区域A1:C19是数据表,单元格F1和F2中是条件。 ?...图2 公式中,最关键的部分是: (A2:A19=F1)*(B2:B19=F2) 生成一个由0/1值组成的数组,其中的1代表满足条件的数据。...接下来,MATCH函数在该数组中查找1的位置,即为满足条件的数据所在的位置,传递到INDEX函数中获取相应的数据值。...图4 公式利用了四个条件合并起来的值唯一的特点,将F1:F4中的值连接起来成为一个值,然后将查找表中前4列的值也连接起来作为被查找值,使用MATCH函数查找得到满足条件的数据所在的位置,然后传递到INDEX
本次的练习是:如下图1所示,在单元格A1中有一段英文文本,其中可能包含标点符号或不包含标点符号,在单元格B1中输入一个公式,识别文本中包含五个元音字母的单词,统计出这些单词的个数。 ?...这五个元音字母在单词中只出现一次 在图1中,红色字体的单词满足条件,而黑色斜体的单词虽然包含全部的五个元音字母但由于顺序不符合要求,因此不满足条件。 先不看答案,自已动手试一试。...,{1;1;1;1;1})=5),0+(ISNUMBER(SEARCH("a*e*i*o*u",Arry2)))) 公式解析 公式中的Arry1和Arry2是定义的两个名称。...先看看公式中的: ISNUMBER(SEARCH("a*e*i*o*u",Arry2)) SEARCH函数有一个很好的特性,接受通配符。...TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE} 将上面得到的两个条件的结果代入公式
,即两个都是单行数组或都是单列数组,Excel将一个数组的元素与另一个数组中相应位置的元素“配对”。...这样,Excel返回#N/A作为结果数组中的第三个元素。 实际上,Excel为了解决传递两个大小不同的数组的问题,重新定义了两个中较小的一个,使其匹配较大的数组。...;"M","o",#N/A;"A","i",#N/A;"A","i",#N/A} 可参考《Excel公式技巧06: COUNTIFS函数如何处理以数组方式提供的条件》中讲解的对数组的解析的内容。...根据其定义,列向量当然是一维的。这里使用的技术请参阅《Excel公式技巧03:INDEX函数,给公式提供数组》、《Excel公式练习44:从多列中返回唯一且按字母顺序排列的列表》。...然而,MODE.MULT函数自身也存在缺点:传递的数组中的任何元素都要至少出现一次,否则将出错,这意味着我们要强制解决该问题。
在实际工作中,我们经常需要从某列返回数据,该数据对应于另一列满足一个或多个条件的数据中的最大值。 如下图1所示,需要返回指定序号(列A)的最新版本(列B)对应的日期(列C)。 ?...原因是与条件对应的最大值不是在B2:B10中,而是针对不同的序号。而且,如果该情况发生在希望返回的值之前行中,则MATCH函数显然不会返回我们想要的值。...B10,0)) 转换为: =INDEX(C2:C10,MATCH(4,B2:B10,0)) 转换为: =INDEX(C2:C10,MATCH(4,{4;2;5;3;1;3;4;1;2},0)) 很显示,数组中的第一个满足条件的值并不是我们想要查找的值所在的位置...4与条件指定的序号相关,公式转换为: =INDEX(C2:C10,7) 结果为: 2014-10-7 解决方案2: 下面的公式更优雅: =LOOKUP(1,0/FREQUENCY(0,1/(1+(A2:...由于数组中的最小值为0.2,在数组中的第7个位置,因此上述公式构造的结果为: {0;0;0;0;0;0;1;0;0;0} 获得此数组后,我们只需要从列C中与该数组出现的非零条目(即1)相对应的位置返回数据即可
我们经常会碰到要查找满足多个条件的值,如下图1所示,想要查找以“凉”开头且价格高于20的商品。 ? 图1 根据前两篇文章中学到的技巧,使用INDEX/MATCH函数组合来完成。...在单元格E3中的数组公式如下: =INDEX(表1[商品],MATCH(1,(表1[价格]>E1)*(LEFT(表1[商品],1)="凉"),0)) 结果如下图2所示。 ?...,0表示不满足条件的商品。...上述数组作为MATCH函数的参数,查找1出现的位置: MATCH(1,{0;0;0;0;0;0;0;0;0;1;0},0) 即满足条件的商品的位置: 10 代入INDEX函数中: =INDEX(表1[商品...巧妙构造MATCH函数的参数以查找值的位置 2. 使用逻辑与运算来生成数组,运算后TRUE/FALSE值转换成1/0,且1占据同时满足条件的数值所在的位置。
引言:本文的练习整理自chandoo.org。多一些练习,想想自己怎么解决问题,看看别人又是怎解决的,能够快速提高Excel公式编写水平。 本次的练习是:在指定条件下,计算一系列数据的累积和。...规则如下:如果累计总和等于或超过阈值,则输出自求和开始以来所有值的总和;如果累计和超过阈值,则重新开始求和。示例数据如下图1所示。 图1 由于B2<阈值(7),B3=0。...…… 假设数据中的列数不固定,阈值是公式的一部分或引用自另一单元格,不得使用任何辅助单元格。 写下你的公式。...解决方案 公式1: 在单元格B3中输入公式: =IF(SUM(B2:B2)-SUM(A3:A3)>=7,SUM(B2:B2)-SUM(A3:A3),0) 向右拖放复制到数据末尾。...公式2: 在单元格B3中输入公式: =(SUM(B2:B2)-SUM(A3:A3)>=B6)*(SUM(B2:B2)-SUM( 向右拖放复制到数据末尾。 公式不复杂,有兴趣的朋友可以仔细理解体会。
有时候,我们想基于指定的条件对数据进行排序,如下图1所示,记录了不同区域员工的销售额。 ? 图1 我们想要给不同区域的员工按销售额从大到小的顺序排序,即想要下图2所示的结果。...图2 在单元格D2中输入公式: =SUMPRODUCT((--(B2=B2:B24)),(--(C2<C2:C24)))+1 下拉至对应的数据单元格结束为止。...公式中: (--(B2=B2:B24)) 将单元格B2中的值与单元格区域B2:B24中的每个值相比较,得到: (--{TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE...公式中: (--(C2<C24)) 检查单元格C2中的数值是否小于单元格区域C2:C24中的值,得到: (--{FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE...欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。
图1 在工作表“Solutions”中,单元格B5中是要搜索的State(州名),单元格C5中是要在Product Name(产品名)中搜索的单词,要统计两者都满足的条目数,如下图2所示。...A3:A 注意,这是一个数组公式,因此按下Ctrl+Shift+Enter键才算公式输入完成。...公式中,IF函数先筛选出State名为B5中值的Product Data;接着,SEARCH函数在筛选出的ProductData中查找C5中的值,如果找到则返回一个数字;传递给ISNUMBER函数,得到一组由...TRUE/FALSE值组成的数组;N函数将其转换成1/0组成的数组,其中的1就是满足条件的条目,将它们求和得到满足条件的所有条目数。...解决方案2: 使用公式: =COUNTIFS('Product Data'!B2:B9995,B5,'ProductData'!A2:A 很简单的一个公式,更容易理解。
这个数字:9.9999999E+307,我们经常会在公式中用得上它。这是一个神奇的数字,在查找数值时能够发挥很大的作用。本文介绍的就是这个数字的使用技巧。...9.9999999E+307是Excel能够识别的最大数字,它通常与LOOKUP函数或MATCH函数结合使用,以查找列/行中的最后一个数字条目,或分别查找行/列中数值的最后一行行号/列号。...在本示例中,LOOKUP函数查找最后一个小于或等于查找值9.9999999E+307的条目,类似的规则或MATCH函数返回行号。...因此,要查找列中的最后一个数字条目,可以使用: =LOOKUP(9.9999999E+307,A:A) 或者从行中返回最后一个数字条目: =LOOKUP(9.9999999E+307,1:1) 类似地,...要获取数字条目的最后一行,使用公式: =MATCH(9.99999E+307,A:A) 或者,对于行,使用公式: =MATCH(9.99999E+307,1:1) 有兴趣的朋友,可以仔细研究,在需要时可以将此技术进行灵活运用
在《Excel公式技巧50:根据条件来排序》中,我们基于指定的一个条件对数据进行排序,所举示例为给不同区域的员工按销售额从大到小的顺序排序,结果如下图1所示。 ?...图1 如果想要基于两个条件或者多个条件来排序呢?例如,下图2所示的工作表,给员工按区域和不同产品的销售额从大到小来排序。 ?...公式中: (B2:B24=B2) 将公式所在单元格中行对应的列B中的值与单元格区域B2:B24中的每个值相比较,得到一个由TRUE/FALSE值组成的数组:TRUE表示区域中与该单元格值相等的单元格,FALSE...同理,公式中: (C2:C24=C2) 也得到一个由TRUE/FALSE值组成的数组,表示公式所在单元格中行对应的列C中的值与单元格区域C2:C24中的每个值相对较的结果。...完美Excel社群2020.8.31动态 #Excel公式# 查找一列中有多少个值出现在另一列中 #话题# 关于Excel中的高级筛选功能
大家好,又见面了,我是你们的朋友全栈君。 excel模板设置好公式即可。...在下面这行代码:workbook.write(out);// 输出Excel内容,生成Excel文件 “之前”, 添加这个语句:workbook.setForceFormulaRecalculation...(true);// 执行公式。...workbook.setForceFormulaRecalculation(true);// 执行公式 workbook.write(out);// 输出Excel内容,生成Excel文件 注意:...当cell.setCellValue(data.toString()) 参数为字符串时,如果进行数值的公式计算,则需要进行类型转换,否则失效,导出后结果为0 cell.setCellValue(Double.parseDouble
图1 要求在单元格C1中输入一个公式,计算学生答对的数量。在图1所示的示例中,答案是4,也就是说左边的表格中有四行是正确的,如表中高亮显示的行。 公式要求: 1...."&G3:G12,)) 即在公式1中添加合适的分隔符。...公式首先分别连接两个表中同一行的字符串,在十个字符串中执行一系列的匹配查找。...match_type,Excel默认为精确匹配即等效于该参数指定为0,这样公式1转换为: =COUNT({#N/A;9;#N/A;6;#N/A;#N/A;2;#N/A;3;#N/A}) COUNT函数忽略传递给它的参数中的错误值...,在合理地强制转换(例如作用在COUNTIFS上的外部函数和数组公式CSE输入)后,Excel将分别计算数组里的每个元素。
本次的练习是:如下图1所示,在一个4行4列的单元格区域A1:D4中,每个单元格内都是一个一位整数,并且目标值单元格(此处为F2)也为整数,要求在单元格G2中编写一个公式返回单元格A1:D4中四个不同值的组合的数量...这四个值的总和等于F2中的值 2. 这四个值中彼此位于不同的行和列 ? 图1 下图2是图1示例中满足条件的6种组合。 ? 图2 先不看答案,自已动手试一试。...关键是,参数cols固定为数组{0,1,2,3},显然意味着四个元素组合中的每个都将分别来自四个不同列,然后变换传递给参数rows的数组,即满足确保没有两个元素在同一行的条件的所有可能排列。...不幸的是,在Excel中生成这种排列的数组绝非易事。在Excel中生成大型数组唯一现实的方法是通过使用ROW函数的公式构造。...2.不仅要理解Excel函数原理,而且要打好数学基础,这是灵活应用公式的一切。
学习Excel技术,关注微信公众号: excelperfect 如下图1所示的工作表,我们想使用数字将数据分成几组,其标准是:第1次出现笔记本且在区域A至第2次出现笔记本且在区域A之间的数据为第1组,标识为...图1 在单元格E3中输入公式: =SUM(E2,AND(B3:B20=G3,C3:C20=H3)) 向下拉至单元格E20,结果如上图1所示。...公式中: AND(B3:B20=G3,C3:C20=H3) 判断是否同时满足列B中的数值等于单元格G3中的值且列C中的数值等于单元格H3中的值。如果满足则返回TRUE,否则返回FALSE。...在上图1所示的工作表中,单元格E3和E4返回的结果都为0,在单元格E5中,由于满足条件,因此AND函数返回TRUE(1),将其与上方单元格E4中的值相加,得到结果1。...欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。
领取专属 10元无门槛券
手把手带您无忧上云