Excel_SUMPRODUCT函数应用
- 格式:doc
- 大小:111.00 KB
- 文档页数:7
Sumproduct是Excel表格中一个非常有用的函数,它可以用来同时对多个数组进行求和或乘积运算。
在Excel中,Sumproduct函数的使用非常灵活,可以满足不同的需求,并且能够帮助用户快速计算复杂的数据。
本文将介绍Sumproduct函数的基本用法和常见应用场景,以帮助读者更好地掌握这一功能强大的Excel函数。
一、Sumproduct函数的基本语法在Excel表格中,Sumproduct函数的基本语法如下:=SUMPRODUCT(array1, [array2], [array3], ...)其中,array1、array2、array3等参数表示要进行求和或乘积运算的数组。
这些数组可以是单个单元格区域,也可以是多个单元格区域。
在使用Sumproduct函数时,需要注意的是参数之间使用逗号进行分隔,同时数组之间的元素个数必须相等。
二、Sumproduct函数的基本用法1. 对数组进行求和运算Sumproduct函数最常见的用法是对数组进行求和运算。
要对数组A1:A5和B1:B5进行求和,可以使用如下公式:=SUMPRODUCT(A1:A5, B1:B5)这将返回数组A1:A5和B1:B5对应元素的乘积之和。
如果某个单元格的值为空或不是数字,则对应位置的乘积结果为0。
2. 对数组进行乘积运算除了求和运算,Sumproduct函数还可以用来对数组进行乘积运算。
要对数组A1:A5和B1:B5进行乘积,可以使用如下公式:=SUMPRODUCT(A1:A5, B1:B5)这将返回数组A1:A5和B1:B5对应元素的乘积结果。
与求和运算类似,如果某个单元格的值为空或不是数字,则对应位置的乘积结果为0。
三、Sumproduct函数的常见应用场景1. 加权平均数的计算在实际工作中,经常会遇到需要计算加权平均数的情况。
Sumproduct函数可以帮助我们快速计算加权平均数,而不需要借助其他辅助列。
要计算A列和B列的加权平均数,可以使用如下公式:=SUMPRODUCT(A1:A5, B1:B5) / SUM(B1:B5)这将返回加权平均数的结果,其中A列作为权重,B列作为数值。
Excel表格中的SUMPRODUCT函数是一种强大的函数,可以在处理大量数据时节省大量的时间和精力。
在Excel中,SUMPRODUCT函数被用来计算数组或矩阵的点积,以便快速准确地计算出所需的结果。
本文将介绍SUMPRODUCT函数的基本用法、应用场景和注意事项,希望能帮助读者更好地理解和运用这一函数。
一、SUMPRODUCT函数的基本用法1.1 定义SUMPRODUCT函数是Excel中的一种多功能函数,可以用来对多个数组中的对应元素进行相乘,并将结果相加得到最终的计算结果。
其基本公式如下所示:SUMPRODUCT(array1, array2, ...)其中array1, array2, ...表示要相乘并相加的数组或矩阵。
1.2 使用方法在Excel中,SUMPRODUCT函数的使用方法非常简单,只需输入函数并填入相应的参数即可。
要计算数组A1:A3和B1:B3的点积之和,只需在任意单元格中输入=SUMPRODUCT(A1:A3, B1:B3)即可得到所需的计算结果。
二、SUMPRODUCT函数的应用场景2.1 加权平均值的计算在实际工作中,常常需要根据一组数据的权重计算加权平均值。
这时就可以运用SUMPRODUCT函数来实现,只需将数据和权重分别作为两个数组输入即可得到加权平均值的计算结果。
2.2 条件计数SUMPRODUCT函数还可以结合其他函数来实现条件计数的功能。
可以使用SUMPRODUCT和IF函数来实现对符合特定条件的数据进行计数,从而更方便地进行数据分析和统计工作。
2.3 数组运算除了上述应用场景外,SUMPRODUCT函数还可以用于进行数组之间的运算,例如求解内积、外积等,为数据分析和统计提供了更多的可能性。
三、SUMPRODUCT函数的注意事项3.1 数据类型在使用SUMPRODUCT函数时,需要注意所输入的数组或矩阵的数据类型必须一致,否则可能会导致计算结果出错。
在使用SUMPRODUCT函数时,要确保所操作的数据类型一致,以免出现意外的错误。
excel中sumproduct排序用法
在Excel中,SUMPRODUCT函数可以用于同时执行乘法和加
法运算,可以用来计算多个数组之间的乘积总和。
它的一种常见用法是用于排序。
使用SUMPRODUCT函数进行排序的基本语法如下:
=SUMPRODUCT(array1, array2)
其中,array1和array2是要进行排序的数组。
例如,假设有以下数据:
A B C
1 10 2
2 20 3
3 30 1
要以C列的值进行排序,可以在D列使用SUMPRODUCT函
数进行排序,公式如下:
=SUMPRODUCT(($C$1:$C$3=C1)*($B$1:$B$3))
将此公式放入D1单元格中,并拖动填充到D2和D3单元格。
公式的作用是逐个比较C列中的值与当前行的值是否相等,
如果相等,则返回1,否则返回0。
然后将得到的结果与B列
对应位置的值相乘,并最后求和。
按照C列的值进行排序后,D列的值将是排序后的结果:D
1 30
2 10
3 20。
如何运用Excel的SUMPRODUCT和SUMIFS函数进行条件计算在Excel中,SUMPRODUCT和SUMIFS函数是非常强大的函数,可以帮助我们进行条件计算。
本文将介绍如何正确运用这两个函数来进行条件计算,并给出一些实例来加深理解。
一、SUMPRODUCT函数的使用SUMPRODUCT函数是一个多功能的函数,它可以将多个数组相乘后相加得到结果。
在条件计算中,我们可以运用SUMPRODUCT函数来实现多个条件的筛选和计算。
下面是SUMPRODUCT函数的基本用法:=SUMPRODUCT(array1, array2, ...)其中array1, array2等为需要相乘的数组。
下面给出一个例子来说明SUMPRODUCT函数的使用:假设我们有一个销售数据表格,表格中包含产品名称、销售数量和销售额。
我们想要计算某一产品的销售数量和销售额之和。
首先,我们需要使用SUMPRODUCT函数来进行条件筛选,然后将结果相加。
具体步骤如下:1. 在一个空白单元格中输入以下公式:=SUMPRODUCT((B2:B10="产品A")*(C2:C10))2. 按下回车键后,该单元格将显示产品A的销售数量和销售额之和。
通过以上例子,我们可以看到SUMPRODUCT函数的强大之处。
它可以同时考虑多个条件,实现复杂的筛选和计算。
二、SUMIFS函数的使用SUMIFS函数是用于多条件求和的函数。
它可以根据一个或多个条件来对指定范围内的单元格进行求和操作。
SUMIFS函数的基本语法如下:=SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2,criteria2, ...)其中sum_range为需要求和的范围,criteria_range1, criteria_range2等为条件范围,criteria1, criteria2等为对应的条件。
如何使用Excel的SUMPRODUCT函数进行多条件计算使用Excel的SUMPRODUCT函数进行多条件计算Excel是一款功能强大的电子表格软件,提供了许多强大的函数来处理和计算数据。
其中,SUMPRODUCT函数是一种非常有用的函数,可以帮助我们进行多条件的计算和筛选。
本文将介绍如何使用Excel的SUMPRODUCT函数进行多条件计算。
一、SUMPRODUCT函数概述SUMPRODUCT函数用于对一个或多个数组范围中的相应元素进行相乘,并返回相乘结果的总和。
它可以在多条件计算中起到很大的作用,使我们能够根据多个条件对数据进行筛选和计算。
二、SUMPRODUCT函数的语法SUMPRODUCT函数的语法如下:SUMPRODUCT(array1, [array2], [array3], ...)其中,array1、array2等为要进行计算的数组范围。
我们可以在其中使用条件进行筛选,来实现多条件计算。
三、使用SUMPRODUCT函数进行多条件计算的步骤下面以一个实际案例来说明如何使用SUMPRODUCT函数进行多条件计算的步骤。
案例:某公司有若干个销售部门,其中每个销售部门都有多名销售员。
现在需要统计每个销售部门的销售总额,具体要求如下:1. 统计指定销售部门的销售总额;2. 统计指定销售部门和销售员的销售总额。
步骤1:统计指定销售部门的销售总额假设销售部门的名称为A1:A10,销售额为B1:B10。
我们可以按照以下步骤进行计算:1. 新建一个单元格,输入销售部门名称,比如C1;2. 在另一个单元格中输入以下公式:=SUMPRODUCT((A1:A10=C1)*(B1:B10));3. 按下回车键,即可得到指定销售部门的销售总额。
步骤2:统计指定销售部门和销售员的销售总额假设销售员的名称为A1:A10,销售额为B1:B10。
我们可以按照以下步骤进行计算:1. 新建两个单元格,分别输入销售部门名称和销售员名称,比如C1和D1;2. 在另一个单元格中输入以下公式:=SUMPRODUCT((A1:A10=C1)*(B1:B10)*(A1:A10=D1)*(B1:B10));3. 按下回车键,即可得到指定销售部门和销售员的销售总额。
在Excel或Google Sheets中,我们可以使用SUMPRODUCT函数来实现对多个条件和多个区域进行求和运算。
SUMPRODUCT函数的作用是将两个或多个数组相乘,并返回乘积的和。
在本文中,我们将讨论如何使用SUMPRODUCT函数来满足特定条件并对多个区域进行求和。
1. 条件1:单个条件求和我们来讨论如何使用SUMPRODUCT函数来实现单个条件的求和。
假设我们有一个销售数据表,其中包含产品名称、销售数量和销售金额。
现在我们想对销售数量大于100的产品的销售金额进行求和。
在这种情况下,可以使用以下公式:=SUMPRODUCT((A2:A10="产品A")*(B2:B10>100)*C2:C10)上述公式中,A2:A10是产品名称的区域,B2:B10是销售数量的区域,C2:C10是销售金额的区域。
通过将条件以数组形式相乘,我们可以得到符合条件的销售金额,然后将这些金额相加,即可得到销售数量大于100的产品的销售金额总和。
2. 条件2:多个条件求和除了单个条件求和,我们还可以使用SUMPRODUCT函数来实现多个条件的求和。
我们不仅想要销售数量大于100的产品,还想要限定产品名称为“产品A”。
在这种情况下,可以使用以下公式:=SUMPRODUCT((A2:A10="产品A")*(B2:B10>100)*C2:C10)在上述公式中,我们将两个条件以数组形式相乘,即可得到产品名称为“产品A”且销售数量大于100的产品的销售金额,然后将这些金额相加,即可得到销售数量大于100且产品名称为“产品A”的产品的销售金额总和。
3. 多区域求和除了满足特定条件的求和,我们还可以使用SUMPRODUCT函数对多个区域进行求和。
假设我们有一个销售数据表和一个成本数据表,我们想要计算利润。
在这种情况下,可以使用以下公式:=SUMPRODUCT((A2:A10="产品A")*(B2:B10>100)*C2:C10)-SUMPRODUCT((A2:A10="产品A")*(B2:B10>100)*D2:D10)上述公式中,第一个SUMPRODUCT函数计算符合条件的销售金额总和,第二个SUMPRODUCT函数计算符合条件的成本金额总和,然后将两者相减,即可得到利润总和。
利用SUMPRODUCT函数进行多条件计数与统计SUMPRODUCT函数是一种强大且灵活的Excel函数,可用于对数据进行多条件计数与统计。
通过结合SUMPRODUCT函数与逻辑运算符,我们能够轻松地实现多种条件下的数据统计与计数。
本文将重点介绍SUMPRODUCT函数的使用方法,并通过示例演示其在多条件计数与统计中的应用。
1. SUMPRODUCT函数的基本语法SUMPRODUCT函数用于多条件计数与统计的语法如下:SUMPRODUCT(array1, [array2], ...)其中,array1、array2等是要进行计算的数组或数据区域。
2. 使用SUMPRODUCT函数进行多条件计数SUMPRODUCT函数可以很方便地实现对符合多个条件的数据进行计数。
以下是使用SUMPRODUCT函数进行多条件计数的示例:假设有一个学生成绩表,包含学生姓名、科目、成绩三列。
我们希望计算某个科目中90分以上的学生人数。
首先,在一个单独的列中,我们使用逻辑运算符将满足条件的成绩标记为1,不满足条件的成绩标记为0。
假设该列为D列。
然后,在另外一个单元格中,使用SUMPRODUCT函数计算标记列中数值为1的个数,即为满足条件的学生人数。
假设该单元格为E1,计算公式为:=SUMPRODUCT(D:D)。
通过以上步骤,我们就可以得到90分以上的学生人数。
3. 使用SUMPRODUCT函数进行多条件统计除了计数之外,SUMPRODUCT函数还可以用于统计符合多个条件的数据。
以下是使用SUMPRODUCT函数进行多条件统计的示例:假设仍然有一个学生成绩表,我们希望统计某个科目中90分以上的学生在不同性别中的分布情况。
首先,在一个单独的列中,我们使用逻辑运算符将满足条件的成绩标记为1,不满足条件的成绩标记为0。
假设该列为D列。
同时,我们使用逻辑运算符将满足性别条件的数据标记为1,不满足条件的数据标记为0。
假设该列为E列。
数学函数SUMPRODUCT应用实例一、基本功能1.函数SUMPRODUCT的功能返回相应的区域或数组乘积的和。
2.基本格式SUMPRODUCT(数据1,数据2,……,数据30)3.示例数据表A列B列C列D列E列数据1数据2数据3数据4数据52 3 4 12 1055 6 5 209 7 8 #N/A 307 2 7 9 KL1 6 2 8 2⑴基本计算①区域计算要求:计算A、B、C三列对应数据乘积的和。
公式:=SUMPRODUCT(A2:A6,B2:B6,C2:C6)计算方式:=A2*B2*C2+A3*B3*C3+A4*B4*C4+A5*B5*C5+A6*B6*C6即三个区域A2:A6,B2:B6,C2:C6同行数据积的和。
返回值788。
②数组计算要求:把上面数据表中的三个区域A2:A6,B2:B6,C2:C6数据按一个区域一个数组,计算对应数组积的和。
把A2:A6,B2:B6,C2:C6分别作为一个数组,即A2:A6表示为数组-{2;5;9;7;1}B2:B6表示为数组-{3;5;7;2;6}C2:C6表示为数组-{4;6;8;7;2}公式:=SUMPRODUCT({2;5;9;7;1},{3;5;7;2;6},{4;6;8;7;2})=788注意:数组数据用大括号{}括起来。
行数据之间用分号";"分隔,如果是同一行的数据,用逗号","分隔。
⑵可能出现的错误①编辑公式时,引用的数据区域大小不一致导致计算错误,返回值为#VALUE!。
示例:在上面的数据表中,计算A列与B列数据区域积的和。
公式:=SUMPRODUCT(A2:A6,B2:B5)或=SUMPRODUCT(A2:A6,B2:B8)都会返回错误值#VALUE!。
所以在用SUMPRODUCT函数时,引用的数据区域大小要一致。
②数据区域中有错误值时,计算出现错误值。
示例:在上面的数据表中,计算数据区域A2:A6与D2:D6对应积的和。
Excel高级技巧使用函数SUMPRODUCT与SUMIFS进行多条件计算Excel是一款功能强大的电子表格软件,在进行数据分析和计算时,经常需要使用函数来实现复杂的计算。
其中,SUMPRODUCT函数和SUMIFS函数是常用的高级函数,可以在Excel中进行多条件的计算。
本文将介绍如何使用SUMPRODUCT和SUMIFS函数进行多条件计算,并给出一些实际应用的案例。
1. SUMPRODUCT函数SUMPRODUCT函数是一个功能强大的函数,可以用于同时满足多个条件下的数值计算。
其基本语法如下:SUMPRODUCT(array1, array2, ...)其中,array1、array2等是要进行计算的数组。
SUMPRODUCT函数的作用是将数组中的对应元素相乘,然后将乘积相加得到最终的结果。
在多条件计算中,可以将不同条件的数组作为SUMPRODUCT函数的参数,实现多个条件同时满足的计算。
2. SUMIFS函数SUMIFS函数是一个用于多条件求和的函数,可以根据多个条件来计算符合条件的数值之和。
其基本语法如下:SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2,criteria2, ...)其中,sum_range是要进行求和的区域,criteria_range1、criteria1、criteria_range2、criteria2等是不同条件的区域和条件。
通过在SUMIFS函数中添加多个条件区域和条件,可以实现多条件的计算。
SUMIFS函数将每个条件的结果进行逻辑与运算,只有同时满足所有条件的数据才会被计算在内。
3. 多条件计算示例接下来,将通过一些实际的案例来演示如何使用SUMPRODUCT和SUMIFS函数进行多条件计算。
案例1:销售额计算假设有一个销售数据表,包含产品名称、销售额和销售日期等信息。
要求计算某个日期范围内某个产品的销售额总和。
sumproduct函数的使用方法及实例首先,让我们来了解一下sumproduct函数的基本语法。
在Excel中,sumproduct函数的语法如下:=sumproduct(array1, [array2], [array3], ...)。
其中,array1, array2, array3等为要相乘并求和的数组。
这些数组可以是单个数值、数值范围、单元格区域或数组常量。
需要注意的是,每个数组的长度必须相同,否则会出现#VALUE错误。
接下来,我们来看一个简单的实例,以便更好地理解sumproduct函数的使用方法。
假设我们有一个销售数据表,其中包括产品名称、销售数量和单价三列数据。
我们想要计算每个产品的销售总额,可以使用sumproduct函数来实现。
首先,我们需要创建一个销售总额的列,然后在第一行输入如下公式:=sumproduct(B2:B10, C2:C10)。
这个公式的意思是,将B2:B10和C2:C10两列数据对应位置相乘,并求和,即可得到每个产品的销售总额。
通过拖动填充或复制粘贴的方式,我们可以快速计算出所有产品的销售总额。
除了上面这个简单的实例之外,sumproduct函数还可以应用于更加复杂的数据分析和统计计算中。
例如,我们可以使用sumproduct函数来计算满足多个条件的数据记录数量,或者对多个条件下的数据进行加权求和等。
总的来说,sumproduct函数是一个非常强大且灵活的函数,它可以帮助我们快速、准确地进行多个数组的相乘并求和,非常适合处理复杂的数据分析和统计计算。
希望通过本文的介绍,大家能够更好地掌握sumproduct函数的使用方法,并能够在实际工作中灵活运用,提高工作效率。
在实际使用sumproduct函数时,我们需要注意以下几点:1. 确保相乘的数组长度相同,否则会出现#VALUE错误。
2. 可以通过拖动填充或复制粘贴的方式快速计算多个数组的相乘并求和。
3. 在复杂的数据分析和统计计算中,可以灵活运用sumproduct函数,实现多种计算需求。
Excel SUMPRODUCT函数应用SUMPRODUCT是一个很特别的公式,表面的作用跟我们平常用的这函数的目的不大一样。
特别是在2003版或以前的Excel中,还没有SUMIFS,COUNTIFS的功能(就是多条件的SUMIF和COUNTIF),就是在2007版以后,多了SUMIFS,COUNTIFS这两个函数,还是有学习这个函数的意义的。
典型的脑子转个弯,就可以达到不同效果。
用途:给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。
比如说第一个数组是{1,2,3},第二个数组是{6,7,8},SUMPRODUCT会把两个数组相对应的值相乘,就是1*6,2*7,3*8,然后把结果相加,就是 1*6 + 2*7 + 3*8。
语法:SUMPRODUCT(数组1,数组2,数组3,...)数组1/数组2/数组3等是需要进行相乘并求和的数组,一般是单元格范围的索引。
需要注意的是所有数组内的元素数目必须相同,如果是单元格范围,每个单元格范围的大小必须相同。
例子:A B C D1 1 5 9 22 2 6 10 43 3 7 a 54 4 8 b 7公式结果解释=SUMPRODUCT(A1:A4,B1:B4) 70 两个数组的所有元素对应相乘,然后把乘积相加,即 1*5 + 2*6 + 3*7 + 4*8。
=SUMPRODUCT(A1:A4,C1:C4) 29 非数值型会被视同为 0 处理,所以是 1*9 + 2*10 + 3*0 + 4*0。
=SUMPRODUCT(A1:A4,B1:B4,C1:C4) 165 三个数组的所有元素对应相乘,然后把乘积相加,即 1*5*9 + 2*6*10 + 3*7*0 + 4*8*0。
(把非数值视同 0 )=SUMPRODUCT(A1:B4,B1:C4) 175 多行/列数据也是可以用SUMPRODUCT的,等于1*5 + 2*6 + 3*7 + 4*8 + 5*9 + 6*10 + 7*0 + 8*0。
=SUMPRODUCT(A1:A4,B1:B3) #VALUE! 数组的个数不一样,返回错误值#VALUE!。
=SUMPRODUCT(A1:A4,A1:D1) #VALUE! 数组的个数一样,可是形状(行数和列数)不一样,同样返回错误值#VALUE!。
=SUMPRODUCT({1,2,3,4},{5,6,7,8}) 70 直接输入数组也可以使用这个函数。
(不过一般这样用比较少)=SUMPRODUCT({1,2,3,4},A1:D1) 46 这个就用的比较多了。
如果一个数组是固定的值,可以考虑直接输在公式中。
=SUMPRODUCT({1,2,3,4},A1:A4) #VALUE! 把行变成列就不行了。
这是因为形状不一样。
在数组中,逗号是视同为新的一列,分号才是新的一行。
比如A1到C2单元格,如果用数组直接列出他们的值,就是{1,5,9;2,6,10}。
一行一行的列出,每一行用分号区分,同一行的不同单元格就用逗号区分。
=SUMPRODUCT({1;2;3;4},A1:A4) 30 把上面公式中的逗号改成分号就得到想要的结果了。
=SUMPRODUCT(A1:A4,3) #VALUE! 如果想要把每个单元格乘上同一个常数,需要把常数先乘以数组,不然,由于常数不是数组,会返回错误#VALUE!。
应该用=SUMPRODUCT(A1:A4*3)多条件加总和多条件计数SUMPRODUCT是一个很特别的函数。
它原本的用途是把两个或以上数组对应的数值相乘后把乘积相加。
可是更多时候,我们会把它用作多条件加总/多条件计数。
就是在2007版中,Excel增加了SUMIFS(多条件加总)和 COUNTIFS(多条件计数)两个函数,用SUMPRODUCT 还是有SUMPRODUCT的优势。
首先,SUMPRODUCT在定义条件的时候,由于是直接用等式或其他比较公式作为条件,比SUMIFS和COUNTIFS更灵活。
第二,学会用SUMPRODUCT去做多条件加总/多条件计数后,会更容易理解SUMPRODUCT 的其他用途,如"RANKIF"(条件排序),或多条件VLOOKUP等。
另外,(也可能是习惯的问题)SUMPRODUCT直接用公式作为条件,看上去更直观。
我们先看看用SUMPRODUCT简单替代SUMIF/COUNTIF。
A B1 a 12 c 23 A 34 b 45 a 5比如说,针对左边两列数值,我们需要加总所有第一列是 "a" 或 "A" 对应第二列的值(1+3+5)。
直接用SUMIF,公式就是:=SUMIF(A1:A5,"a",B1:B5)A1:A5是条件范围,"a"是条件的要求数值,B1:B5是加总范围。
如果用SUMPRODUCT,公式就是:=SUMPRODUCT((A1:A5="a")*1,B1:B5)A B 各元素公式结果1 a 1 (A1="a")*1 12 c 2 (A2="a")*1 03 A 3 (A3="a")*1 14 b 4 (A4="a")*1 05 a 5 (A5="a")*1 1公式里的第一个数组(A1:A5="a")*1反映了条件,我们把这数组中五个元素分别在左边表格的第三列中列出。
第一个元素是(A1="a")*1, A1="a"会返回“TRUE” , SUMPRODUCT会把所有非数值的元素忽略,以我们要把“TRUE” / “FALSE” 变成数值 1 或 0。
一般使用的方法是把条件乘以1,也可以在前面加两个负号。
比如(A1="a")*1,(A2="a")*1 ... 或--(A1="a"),--(A2="a") ...这样,第一个数组返回的,就是右边表格中第四列的值。
SUMPRODUCT((A1:A5="a")*1,B1:B5) 实际上就是“1*1 + 0*2 + 1*3 + 0*4 + 1*5” ,等于符合条件的的就加总,不符合条件的的就不加。
实际上SUMPRODUCT并不一定要求两个或以上的数组,一个数组也是可以的。
所以有时候写公式的时候,会直接把要乘的都放第一个数组里:=SUMPRODUCT((A1:A5="a")*B1:B5)我自己的习惯是把条件都放在第一个数组,把加总的放在第二个数组,方便自己纠错的时候分析。
要注意的是,条件前后必须用(),不然,由于乘号的优先顺序比较高,A1:A5="a"*B1:B5就会被视同为A1:A5=("a"*B1:B5),公式自然就报错了。
要做COUNTIF,跟上面SUMIF的方式很类似,只需要把*B1:B5改成*1就可以了。
如下:=SUMPRODUCT((A1:A5="a")*1)说SUMPRODUCT比SUMIFS和COUNTIFS更灵活,是因为SUMPRODUCT的条件是用公式定义的。
比如说在上面的例子中,如果只需要加小写的"a",不加大写的"A",用SUMIF 就只能加辅助列,计算那个单元格是小写的"a";用SUMPRODUCT就可以一步到位了:=SUMPRODUCT(EXACT(A1:A5,"a")*B1:B5)理解了上面单个条件加总/计数,要设计多条件加总/多条件计数,实际上就是用: =SUMPRODUCT((条件一)*(条件二)*(条件三),加总范围)A B C1 A a 12 B c 23 B a 34 C b 45 A a 5比如要把A列=A,B列=a 对应的C列数字加总:=SUMPRODUCT((A1:A5="A")*(B1:B5="a"),C1:C5)要计算A列=A,B列=a 的个数:=SUMPRODUCT((A1:A5="A")*(B1:B5="a"))只要多于一个条件,就不用 *1 或者 -- 了。
条件排名和多条件排名上周说过怎么用SUMPRODUCT做多条件加总和多条件计数,实际上SUMPRODUCT也能做条件排名/多条件排名。
我们先看看简单的排名(从大到小)。
A B B列公式1 42 =RANK($A1,$A$1:$A$5)2 2 4 =RANK($A2,$A$1:$A$5)3 4 2 =RANK($A3,$A$1:$A$5)4 15 =RANK($A4,$A$1:$A$5)5 5 1 =RANK($A5,$A$1:$A$5)左面的公式是直接用RANK函数得出的结果。
A列中,5是最大(第5行),所以排第1;1是最小(第4行),所以排最后(第5)。
RANK函数对相同数字会返回一样的排名,可是会影响后面的排名。
比如A列中有两个4(第1行和第3行),都排第2,可是由于有两个第2,就没有第3了。
这跟我们一般理解的排名也是一样的。
用SUMPRODUCT做简单的排名,同样要考虑条件。
从大到小排名,实际上就是算出有多少个在列表里面的数是大于自己的。
如下面Excel表格里的公式:A B B列公式1 42 =SUMPRODUCT(($A$1:$A$5>$A1)*1)+12 2 4 =SUMPRODUCT(($A$1:$A$5>$A2)*1)+13 4 2 =SUMPRODUCT(($A$1:$A$5>$A3)*1)+14 15 =SUMPRODUCT(($A$1:$A$5>$A4)*1)+15 5 1 =SUMPRODUCT(($A$1:$A$5>$A5)*1)+1如果你会用SUMPRODUCT做条件计数和多条件计数,这个对你应该一点难度都没有。
SUMPRODUCT(($A$1:$A$5>$A1)*1)算出了A列中有多少个数大于A1。
+1就是自己的排名了。
你可能会想,我们为什么不把公式改成SUMPRODUCT(($A$1:$A$5>=$A1)*1),让SUMPRODUCT在计算时包括了等于自己的项,不就不用+1了吗?当列表中没有相同数值时,这是没有问题的。
可是如果有相同数值,那就会出现问题了。
你可以试试把B1的公式改成SUMPRODUCT(($A$1:$A$5>=$A1)*1),下拉到B2:B5,你会发现B1和B3的结果就会变成3,而不是我们希望的2了。