Excel怎么获取满足多个条件的数值之和
有一组数据,我们想要求出剔除某些数据后余下的数据之和,如下所示,要求数据区域中除代码FA、PD、SS之外的分数之和。

可以使用公式:
=SUM(B2:I2)-(SUMIF(B1:I1,”FA”,B2:I2)+SUMIF(B1:I1,”PD”,B2:I2)+SUMIF(B1:I1,”SS”,B2:I2))
然而,如果数据很多,这个公式会很长,很不简洁。此时,我们可以使用SUMPRODUCT函数的公式:
=SUM(B2:I2)-SUMPRODUCT(((B1:I1)=({“FA”;”PD”;”SS”}))*(B2:I2))
下面对这个公式的运行原理进行解释。公式的主要部分:
SUMPRODUCT(((B1:I1)=({“FA”;”PD”;”SS”}))*(B2:I2))
包含两部分:
((B1:I1)=({“FA”;”PD”;”SS”}))
和
(B2:I2)
其中,(B2:I2)被转换为由单元格区域中的数值组成的单行数组:{10,10,10,10,10,10,10,10}。这很好理解。
现在主要看看:
((B1:I1)=({“FA”;”PD”;”SS”}))
Excel将使用单元格区域B1:I1中的每个值依次与“FA”、“PD”、“SS”进行比较,生成一个3行8列的数组:
{FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE}
其第1行是B1:I1中的每个值与“FA”比较的结果,第2行是与“PD”比较的结果,第3行是与“SS”比较的结果。如下所示。

将上面生成的两个中间数组相乘:
((B1:I1)=({“FA”;”PD”;”SS”}))*(B2:I2)
即:
{FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE}*{10,10,10,10,10,10,10,10}
第一个数组的每1行中的每个元素分别与第2个数组中对应的元素相乘,得到:
{0,10,0,0,0,0,0,0;0,0,0,0,10,0,0,0;0,0,0,0,0,0,10,0}
传递给SUMPRODUCT函数:
SUMPRODUCT(((B1:I1)=({“FA”;”PD”;”SS”}))*(B2:I2))
即:
SUMPRODUCT({0,10,0,0,0,0,0,0;0,0,0,0,10,0,0,0;0,0,0,0,0,0,10,0})
得到:
30
从而:
=SUM(B2:I2)-(SUMIF(B1:I1,”FA”,B2:I2)+SUMIF(B1:I1,”PD”,B2:I2)+SUMIF(B1:I1,”SS”,B2:I2))
=80-30
=50
最新推荐
- 
                                
                                    
excel怎么把一列数据拆分成几列 excel一列内容拆分成很多列
           excel怎么把一列数据拆分成几列?在使用excel表格软件的过程中,用户可以通过使用excel强大的功能 […]
 - 
                                
                                    
win7已达到计算机的连接数最大值怎么办 win7连接数达到最大值
           win7已达到计算机的连接数最大值怎么办?很多还在使用win7系统的用户都遇到过在打开计算机进行连接的时候 […]
 - 
                                
                                    
window10插网线为什么识别不了 win10网线插着却显示无法识别网络
           window10插网线为什么识别不了?很多用户在使用win10的过程中,都遇到过明明自己网线插着,但是网络 […]
 - 
                                
                                    
win11每次打开软件都弹出是否允许怎么办 win11每次打开软件都要确认
           win11每次打开软件都弹出是否允许怎么办?在win11系统中,微软提高了安全性,在默认的功能中,每次用户 […]
 - 
                                
                                    
win11打开文件安全警告怎么去掉 下载文件跳出文件安全警告
           win11打开文件安全警告怎么去掉?很多刚开始使用win11系统的用户发现,在安装后下载文件,都会弹出警告 […]
 - 
                                
                                    
nvidia控制面板拒绝访问怎么办 nvidia控制面板拒绝访问无法应用选定的设置win10
           nvidia控制面板拒绝访问怎么办?在使用独显的过程中,用户可以通过显卡的的程序来进行图形的调整,比如英伟 […]
 
热门文章
excel怎么把一列数据拆分成几列 excel一列内容拆分成很多列
2win7已达到计算机的连接数最大值怎么办 win7连接数达到最大值
3window10插网线为什么识别不了 win10网线插着却显示无法识别网络
4win11每次打开软件都弹出是否允许怎么办 win11每次打开软件都要确认
5win11打开文件安全警告怎么去掉 下载文件跳出文件安全警告
6nvidia控制面板拒绝访问怎么办 nvidia控制面板拒绝访问无法应用选定的设置win10
7win11c盘拒绝访问怎么恢复权限 win11双击C盘提示拒绝访问
8罗技驱动设置开机启动教程分享
9win7设置电脑还原点怎么设置 win7设置系统还原点
10win10硬盘拒绝访问怎么解决 win10磁盘拒绝访问
随机推荐
专题工具排名 更多+

  
									
                                
  
									
                                
  
									
                                
  
									
                                
闽公网安备 35052402000376号