Excel SUMPRODUCT函数用法(成绩求和,分组排序)

2024-02-21 07:04

本文主要是介绍Excel SUMPRODUCT函数用法(成绩求和,分组排序),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SUMPRODUCT函数是Excel中功能比较强大的一个函数,可以实现sum,count等函数的功能,也可以实现一些基础函数无法直接实现的功能,常用来进行分类汇总,分组排序等

SUMPRODUCT 函数基础

SUMPRODUCT函数先计算多个数组的元素之间的乘积再求和。SUMPRODUCT函数的语法为:

SUMPRODUCT(array1,array2,array3, …),其中Array为数组,用于指定包含构成计算对象的值的数组或单元格区域

SUMPRODUCT函数的使用注意事项:

(1).数组参数必须具有相同的维数,即行数相同,否则,函数SUMPRODUCT将返回错误值#VALUE!
(2).数据区域引用不能整列引用.如:A:A、B:B,必须是A2:A100这种

SUMPRODUCT 函数用法

用法1:乘积求和

如下数据需要统计公司整体的花费,需要将数量乘以单价并汇总
在这里插入图片描述
这里使用SUMPRODUCT函数可以直接得到结果。输入公式=SUMPRODUCT(C2:C8*D2:D8)或者=SUMPRODUCT(C2:C8,D2:D8)即可得到总计花费

这里用到了两写方法,第一个公式中用*(乘号)连接参数。第二个公式中用,(逗号)连接参数。本例中的数据源都是数值,所以两种方法返回的结果一致。如果当数据源中包含文本数据值,使用公式2仍然可以返回正确结果,SUMPRODUCT将非数值型的元素作为0处理。但如果用公式1则会导致数值和文本相乘,返回错误值:#VALUE!。

乘积求和是SUMPRODUCT 函数最基础的用法,也可以解释SUMPRODUCT 函数的原理:即将选取区域的数组相乘再相加

用法2:条件求和

SUMPRODUCT函数中加入逻辑判断即可以实现sumif、sumifs函数的功能:条件求和。例如想要求市场部的总花费,即单条件求和,公式如下:=SUMPRODUCT((A2:A8="市场部")*C2:C8*D2:D8)
其中A2:A8="市场部"即为对应的条件判断,如果为市场部,则返回结果为True,对应值为1,并与后续数组中的数量和单价相乘,如果不为市场部,则返回结果为False,对应值为0,与后续数组中的数量和单价相乘后返回的结果为0,从而实现了条件求和。
当有多个条件求和时也可以按照同样的原理增加逻辑判断。例如求市场部笔记本总花费,对应公式为:=SUMPRODUCT((A2:A8="市场部")*(B2:B8="笔记本")*C2:C8*D2:D8)

用法3:条件计数

条件计数的原理即为将SUMPRODUCT函数中的参数全部设为条件判断,判断结果为True的返回数值1,相加后即为满足条件的计数
例如求市场部对应的记录数量,公式为:=SUMPRODUCT(N(A2:A8="市场部"))其中部门列是文本形式,则需嵌套N函数,表示返回转化为数值后的值,从而统计对应的记录数。
如果需要对多条件进行计数,例如统计市场部单价大于5的记录数,则公式为:=SUMPRODUCT((A2:A8="市场部")*(D2:D8>5))

用法4:分组排序

SUMPRODUCT函数也常用于分组排序,例如需要将不同部门的商品单价排序,则对应公式为:=SUMPRODUCT(($A$2:$A$8=A2)*($D$2:$D$8>=D2))
其中$A$2:$A$8=A2表示条件区域列判断是否等于A2,返回对应的判断结果True和False。$D$2:$D$8>D2判断单价区域列是否大于等于D2,同样返回一组判断结果True和False,通过SUMPRODUCT函数将两组数组相乘,得到的就是部门列为市场部,且单价大于等于10的相乘结果为1,其他结果为0,再相加后即可得到整个分组中大于D2的记录数,从而得到对应的排名。
省流版公式套路:=SUMPRODUCT((条件区域1=条件1)*(要进行排名的区域>数值))+1

示例文件下载:
https://download.csdn.net/download/qq_42692386/88855138

在这里插入图片描述

这篇关于Excel SUMPRODUCT函数用法(成绩求和,分组排序)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730928

相关文章

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

Java easyExcel实现导入多sheet的Excel

《JavaeasyExcel实现导入多sheet的Excel》这篇文章主要为大家详细介绍了如何使用JavaeasyExcel实现导入多sheet的Excel,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录1.官网2.Excel样式3.代码1.官网easyExcel官网2.Excel样式3.代码

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二