标签: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技术,关注微信公众号: excelperfect 本次的练习是:在Excel中,我们经常要基于多个OR条件进行计数或求和。...为方便起见,我们定义了命名区域,如上图1中所示。 先不看答案,自已动手试一试。 解决方案 可以使用SUMPRODUCT函数与ISNUMBER/MATCH函数的组合来编写公式求得结果。...在单元格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...0))*ISNUMBER(MATCH(城市,{"北京","上海"},0))) 上述公式中,花括号内的数组是硬编码值,我们可以使用单元格区域来替换: =SUMPRODUCT(ISNUMBER(MATCH(
在实际工作中,我们经常需要从某列返回数据,该数据对应于另一列满足一个或多个条件的数据中的最大值。 如下图1所示,需要返回指定序号(列A)的最新版本(列B)对应的日期(列C)。 ?...原因是与条件对应的最大值不是在B2:B10中,而是针对不同的序号。而且,如果该情况发生在希望返回的值之前行中,则MATCH函数显然不会返回我们想要的值。...4与条件指定的序号相关,公式转换为: =INDEX(C2:C10,7) 结果为: 2014-10-7 解决方案2: 下面的公式更优雅: =LOOKUP(1,0/FREQUENCY(0,1/(1+(A2:...为了找到最大值在此数组中的位置(而不是像方案1一样使用MATCH(MAX,…等)组合,那需要重复生成上述数组的子句),进行如下操作: 我们首先给上面数组中的每个值添加一个小值。...由于数组中的最小值为0.2,在数组中的第7个位置,因此上述公式构造的结果为: {0;0;0;0;0;0;1;0;0;0} 获得此数组后,我们只需要从列C中与该数组出现的非零条目(即1)相对应的位置返回数据即可
本次的练习是:如下图1所示,左边的表格是一个测试表,学生要根据单元格A3:A12中的国家名,在列B和列C相应的单元格中填写该国家的首都和使用的货币。右边的表格是正确答案。 ?...match_type,Excel默认为精确匹配即等效于该参数指定为0,这样公式1转换为: =COUNT({#N/A;9;#N/A;6;#N/A;#N/A;2;#N/A;3;#N/A}) COUNT函数忽略传递给它的参数中的错误值...,因此,公式1的结果为: 4 再看看更为健壮的公式2: =SUM(COUNTIFS(A3:A12,E3:E12,B3:B12,F3:F12,C3:C12,G3:G12)) 注意,当参数criteria指定的值包含多个元素时...,在合理地强制转换(例如作用在COUNTIFS上的外部函数和数组公式CSE输入)后,Excel将分别计算数组里的每个元素。...进一步说,这里有多个参数criteria指定的值都由多个元素(E3:E12、F3:F12、G3:G12)组成,Excel执行一系列单独的COUNTIFS计算。
excelperfect 条件格式是有趣的,特别是使用公式并链接条件到单元格中时。下面是使用公式的条件格式的一些说明: 1.条件格式意味着如果条件满足应会应用设定的格式。...4.评估为TRUE或FALSE的逻辑公式可以用于创建条件格式。 5.条件格式可以使用非数组公式和数组公式。 6.条件格式是易失性的:经常重新计算,减慢整个工作表的计算时间。...7.使用公式创建条件格式的步骤: (1)选择单元格区域。 (2)打开“条件格式规则管理器”对话框。...(按Alt+N键,或者单击“新建规则”按钮) (4)从“选择规则类型”列表中选取“使用公式确定要设置格式的单元格”。 (5)单击“为符合此公式的值设置格式”框。 (6)输入公式。...单元格D18中的数组公式计算得到指定的时间并作为条件格式的辅助单元格。 ? 图2 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
导语:本文所讲的案例在第一季公式练习中有相似的例子,这里再巩固一下。只要知道要在公式中使用的函数,没有Excel解决不了的问题!...本次的练习是:如下图1所示,单元格区域A1:E25中存放着数据,列D中是要查找的值需满足的条件,列I和列J中显示查找到的结果,示例中显示的是1月份南区超市销售的蔬菜及其数量。 ?...图1 要求在I2中输入公式,向右向下拖拉以获取全部满足条件的数据。 先不看答案,自已动手试一试。...公式解析 公式中的: COUNTIFS($A:$A,$G$6,$B:$B,$G$9,$C:$C,$G$3)<ROWS($I$2:I2) 用来计算符合条件的结果数(本例中为5),并与已放置值的单元格数(已返回的值...: 土豆 由于COUNTIFS($A:$A,$G$6,$B:$B,$G$9,$C:$C,$G$3)<ROWS($I$2:I2)转换为: 5<1 结果为: False 因此,该单元格中的公式返回的结果为:
标签:公式练习 在使用Excel时,经常会遇到根据多个条件求相应的和的问题。 示例数据如下图1所示。工作表中有两个表,一个是活动的全部数据,另一个列出了其中暂停活动的列表。...要求: 1.计算除暂停列表中的活动外,其它所有活动的总小时数。 2.计算除暂停列表中的活动外,其它所有活动中例行活动的总小时数。...我首先想到使用经典的MATCH/INDEX函数组合的数组公式,但没有成功,接着转向使用矩阵公式。...第1问的思路为:将总列表中的活动与暂停列表中的活动比较,求出其对应小时数之和,然后使用总小时数相减,即得到除暂停列表中的活动外的总小时数: =SUM(C2:C16)-SUM(MMULT(TRANSPOSE...注:在知识星球完美Excel社群可以下载本文配套示例工作簿。
我们可能熟悉使用INDEX、SMALL等在给定单列或单行数组的情况下,返回满足一个或多个条件的值的列表。这是一项标准的公式技术。...在《Excel公式练习32:将包含空单元格的多行多列单元格区域转换成单独的列并去掉空单元格》中,我们讲述了一种方法,给定由多个列组成的单元格区域,从该区域返回由所有非空单元格组成的单个列。...可以很容易地验证,在该公式中的单个条件可以扩展到多个条件,因此,我们现在有了从一维数组和二维数组中生成单列列表的方法。 那么,可以更进一步吗?...“三维”是经常应用于Excel中特定公式的通用术语,这些公式不仅可以对单列或单行进行操作,也可以对由多列或多行组成的单元格区域进行操作,还可以有效地对多个工作表进行操作。...本文提供了一种方法,在给定一个或多个相同布局的工作表的情况下,可以创建另一个“主”工作表,该工作表仅由满足特定条件的所有工作表中的数据组成。并且,这里不使用VBA,仅使用公式。
引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。 本次的练习是:示例数据如下图1所示。...图1 现在,想根据列A中的数据对列B中的值汇总。例如,对于列A中的“A”来说,在列B中对应的值是:1、13、14、15、16、17、18,其和为94。...要求只能使用公式,不能使用VBA,仅能使用上述两个命名区域名称,不能使用填充功能填充空单元格。 请写下你的公式。 解决方案 公式1:数组公式。...5:数组公式。...…… 公式并没有给出详细的解析,有兴趣的朋友可以参照前面推送的有关分析公式的文章对这些公式进行解析,相信对理解Excel函数,编写公式解决问题会有很大的帮助。
如下图1所示,我们在单元格区域中使用数组公式生成序号,这样,使用者就不能够随意删除其中一个单元格中的序号,只能选中该区域后全部删除。 ? 图1 下面是创建上面的数组公式的步骤: 1....公式中使用了ROW函数,能够浏览单元格区域并得到该区域中每个单元格所在行的行号。 4. 公式开始部分的:ROW(A2:A6),创建了一个函数参数数组运算,得到结果数组{2;3;4;5;6}。 5....当你试图删除单元格区域A2:A6中的某个单元格中的内容、删除整行等时,会导致下图2所示的错误。 ? 图2 2. 按Ctrl+/键可以选择当前数组公式所在的区域。 3. 有两种方法删除数组公式区域内容。...上例中的数组公式可以归纳为一个求序号的公式构造: ROW(单元格区域)-ROW(单元格区域中的第一个单元格)+1 这个公式构造可以作为更高级的数组公式中的元素。...欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。 完美Excel社群2020.9.2动态 #VBA# 增强的CELL函数和INFO函数
本次的练习是:如下图1所示,在单元格A1中有一段英文文本,其中可能包含标点符号或不包含标点符号,在单元格B1中输入一个公式,识别文本中包含五个元音字母的单词,统计出这些单词的个数。 ?...这五个元音字母在单词中只出现一次 在图1中,红色字体的单词满足条件,而黑色斜体的单词虽然包含全部的五个元音字母但由于顺序不符合要求,因此不满足条件。 先不看答案,自已动手试一试。...,{1;1;1;1;1})=5),0+(ISNUMBER(SEARCH("a*e*i*o*u",Arry2)))) 公式解析 公式中的Arry1和Arry2是定义的两个名称。...,用来确定字符串中某个字符有多少个:使用原始字符串的长度减去剔除掉指定字符后的字符串的长度。...TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE} 将上面得到的两个条件的结果代入公式
有时候,我们需要根据多个条件在数据表中查找值,此时,就需要使用一些公式技巧了。本文的示例使用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
表示内容如果包含√,则为真,为红色 表示内容开头为低,则为真 表示选中全部
下面是Excel的比较运算符: = 等于 不等于 > 大于 >= 大于等于 < 小于 <= 小于等于 在诸如基于条件查找最小值或最大值、计算标准偏差等情形时,Excel没有提供相应的内置函数,必须编写数组公式...图1 使用数组公式 Excel中没有一个MINIF函数来根据条件求相应的最小值,可以使用MIN/IF函数组合来实现。...使用数据库函数 在Excel中,有一组基于判断条件执行计算的数据库函数,共12个,也称之为D-函数,例如DMIN、DMAX和DSUM函数。...如下图3所示,显然,对于多个值不能像以前那样简单地下拉公式,这是其不利之处。 ?...可以看出,数据透视表对于带有一个或多个判断条件的聚合计算非常方便,但是与公式相比,当源数据变化时,它不能立即更新,需要刷新才能更新其内容。
如果希望进一步操纵某二维数组的元素,则需要使用这种技术。例如,由于某种原因,在某种情形下,需要将二维数组中的每个元素传递给一个或多个参数进行进一步处理。...进一步,使用公式: =MID(A1,{1,2},{1;2;3}) 可以得到一个3行2列数组: {"A","m";"Am","ma";"Ama","map"} 公式中两个参数值的数组彼此正交,MID函数的参数...这样,Excel返回#N/A作为结果数组中的第三个元素。 实际上,Excel为了解决传递两个大小不同的数组的问题,重新定义了两个中较小的一个,使其匹配较大的数组。...;"M","o",#N/A;"A","i",#N/A;"A","i",#N/A} 可参考《Excel公式技巧06: COUNTIFS函数如何处理以数组方式提供的条件》中讲解的对数组的解析的内容。...根据其定义,列向量当然是一维的。这里使用的技术请参阅《Excel公式技巧03:INDEX函数,给公式提供数组》、《Excel公式练习44:从多列中返回唯一且按字母顺序排列的列表》。
我们经常会碰到要查找满足多个条件的值,如下图1所示,想要查找以“凉”开头且价格高于20的商品。 ? 图1 根据前两篇文章中学到的技巧,使用INDEX/MATCH函数组合来完成。...在单元格E3中的数组公式如下: =INDEX(表1[商品],MATCH(1,(表1[价格]>E1)*(LEFT(表1[商品],1)="凉"),0)) 结果如下图2所示。 ?...图2 公式中使用了逻辑运算: (表1[价格]>E1)*(LEFT(表1[商品],1)="凉") 生成数组: {0;0;0;0;0;0;0;0;0;1;0} 其中,1表示价格大于指定值且名称以指定字开头的商品...上述数组作为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社群,进行技术交流和提问,获取更多电子资料。
图2 解决方案1: 使用数组公式: =SUM(N(ISNUMBER(SEARCH(C5,IF('Product Data'!B3:B10000=B5,'ProductData'!...公式中,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 很简单的一个公式,更容易理解。...这里的关键是COUNTIFS函数使用了通配符进行查找。 undefined 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
学习Excel技术,关注微信公众号: excelperfect 条件格式与公式相配合,往往能够发挥很大的威力,其中之一就是用来突出显示单元格。如下图1所示,在“新建格式规则”对话框中: 1....选择“使用公式确定要设置格式的单元格” 2. 在“为符合此公式的值设置格式”框中输入适当的公式 3. 单击“格式”按钮,设置想要的格式。 ? 图1 本文以交替突出显示所选单元格区域颜色为例来讲解。...如果是TRUE,则应用设置的格式,即示例中的偶数行。 同样,如果想为奇数行设置格式,则使用公式: MOD(ROW(),2)=1 结果如下图4所示。 ?...Excel提供了函数IsOdd和函数IsEven来判断奇偶性,返回的值是True/False。...这样,可以使用公式: ISODD(ROW()+COLUMN()) 如果要求变换突出显示的单元格,可以使用公式: ISEVEN(ROW()+COLUMN()) 结果如下图8所示。 ? 图8
领取专属 10元无门槛券
手把手带您无忧上云