​Excel——SUMPRODUCT 函数

SUMPRODUCT 是 Excel 中最强大的函数之一,可以用于 ​多条件求和、加权计算、数组运算​ 等复杂场景。下面通过 ​基础语法 + 实用案例​ 彻底讲透它的用法!


一、基础语法

=SUMPRODUCT(数组1, [数组2], [数组3], ...)
  • 功能​:将多个数组的对应元素相乘后求和。
  • 核心规则​:
    • 所有数组必须 ​大小相同​(行数、列数一致)。
    • 非数值(如文本、逻辑值)在逗号分隔时视为 0,用运算符连接时可能报错。

二、6大经典用法

1. 基本用法:两列相乘求和

▸ ​场景​:计算总销售额(单价 × 数量)。

产品单价数量
产品A1002
产品B2001
产品C504
=SUMPRODUCT(B2:B4, C2:C4)  

结果​:100×2 + 200×1 + 50×4 = 600

✅ ​等效写法​:

=SUMPRODUCT(B2:B4 * C2:C4)  

2. 多条件求和(替代SUMIFS)​

▸ ​场景​:统计“销售部”且“销售额>5000”的总金额。

部门销售额
销售部3000
技术部6000
销售部7000
=SUMPRODUCT((A2:A4="销售部") * (B2:B4>5000) * B2:B4)  

结果​:7000(仅第3行符合条件)
🔍 ​逻辑分解​:

  1. (A2:A4="销售部"){1,0,1}
  2. (B2:B4>5000){0,1,1}
  3. 相乘后筛选:{0,0,1} * {3000,6000,7000} = {0,0,7000}
  4. 求和:7000

3. 加权平均计算

▸ ​场景​:计算3种产品的加权平均单价(权重=销量)。

产品单价销量
产品A10100
产品B2050
产品C3030
=SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4)  

计算过程​:

  • 分子:10×100 + 20×50 + 30×30 = 2900
  • 分母:100 + 50 + 30 = 180
  • 结果:2900 / 180 ≈ 16.11

4. 多列混合运算(加减乘除)​

▸ ​场景​:计算 (A列+B列) × C列 的总和。

A列B列C列
123
456
=SUMPRODUCT((A2:A3 + B2:B3) * C2:C3)  

结果​:(1+2)×3 + (4+5)×6 = 9 + 54 = 63


5. 条件计数(替代COUNTIFS)​

▸ ​场景​:统计“销售部”且“销售额>5000”的订单数。

=SUMPRODUCT((A2:A4="销售部") * (B2:B4>5000))  

结果​:1(只有第3行符合)


6. 处理复杂条件(OR逻辑)​

▸ ​场景​:统计“销售部”或“技术部”的销售额总和。

=SUMPRODUCT(((A2:A4="销售部") + (A2:A4="技术部")) * B2:B4)  

关键技巧​:用 + 表示 ​OR* 表示 ​AND


三、常见错误及解决

错误类型原因解决方法
#VALUE!数组大小不一致检查所有数组的行列数是否相同
#N/A数据含错误值IFERROR 处理:=SUMPRODUCT(IFERROR(数组,0))
结果为零条件无匹配或数据为文本COUNTIFS 验证条件是否成立

四、性能优化技巧

  1. 避免整列引用​:用 A2:A100 替代 A:A,减少计算量。
  2. 预计算辅助列:复杂运算可先在其他列计算,再用SUMPRODUCT求和。
  3. 替代方案​:
    • 多条件求和 → SUMIFS
    • 简单相乘求和 → MMULT(矩阵运算)

五、总结

  • SUMPRODUCT = 条件筛选 + 数组运算 + 自动求和
  • 运算符选择​:
    • 逗号(,)→ 自动忽略非数字
    • 星号(*)→ 严格计算,需处理错误
  • 适用场景​:加权平均、多条件求和、复杂数组运算。

六、案例

=SUMPRODUCT(E33:K33, VLOOKUP($E$32:$K$32, $D$23:$M$30, 10, FALSE))

1. VLOOKUP部分:查找权重值

VLOOKUP($E$32:$K$32, $D$23:$M$30, 10, FALSE)
  • 查找值​:$E$32:$K$32 → 销售阶段名称("潜在","接触",...,"成交")
  • 查找范围​:$D$23:$M$30 → 上方权重表(含阶段名称和权重百分比)
  • 返回列​:10 → 权重百分比所在列(第10列,即M23:M30
  • 匹配方式​:FALSE → 精确匹配

输出结果​:
{3.57%, 7.14%, 10.71%, 14.29%, 17.86%, 21.43%, 25.00%}

2. SUMPRODUCT部分:计算加权和

SUMPRODUCT(E33:K33, 上述VLOOKUP结果)
  • 数组1​:E33:K33 → 1Q各阶段数值(200,205,210,215,220,225,230)
  • 数组2​:VLOOKUP返回的权重数组
  • 计算过程​:
    200×3.57% + 205×7.14% + 210×10.71% + 215×14.29% + 
    220×17.86% + 225×21.43% + 230×25.00% = 220

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/92877.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/92877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

告别虚函数性能焦虑:深入剖析C++多态的现代设计模式

🚀 引言:当多态遇上性能瓶颈 我经常被问到这样一个问题:“既然virtual函数这么方便,为什么在一些高性能场景下,大家却避之不及?” 答案很简单:性能。 在我参与的多个HPC项目和游戏引擎开发中,virtual函数调用往往成为性能分析工具中最显眼的那个红点。一个看似无害…

k8s-MongoDB 副本集部署

前提准备一套 k8s 集群worker 节点上的 /nfs/data 目录挂载到磁盘一、NFS 高可用方案(NFSkeepalivedSersync)本方案 NFS 的高可用方案,应用服务器为 Client ,两台文件服务器分别 Master 和 Slave,使用 keepalived 生成…

BI 系统数据看板全解析:让数据可视化驱动业务决策

BI 系统数据看板全解析:让数据可视化驱动业务决策在 BI 系统中,数据看板是连接原始数据与业务洞察的 “桥梁”。它将零散的业务指标转化为直观的可视化图表,让产品经理、运营人员等角色能快速把握业务动态。一个设计精良的数据看板&#xff0…

图机器学习(14)——社交网络分析

图机器学习(14)——社交网络分析0. 前言1. 数据集分析1.1 数据集介绍1.2 使用 networkx 加载数据集2. 网络拓扑和社区检测2.1 网络拓扑2.2 社区检测0. 前言 社交网站的崛起是近年来数字媒体领域最活跃的发展趋势之一,数字社交互动已经融入人…

深入解析Hadoop MapReduce中Reduce阶段排序的必要性

MapReduce概述与Reduce阶段简介MapReduce作为Hadoop生态系统的核心计算框架,其设计思想源自Google论文,通过"分而治之"的理念实现海量数据的并行处理。该模型将计算过程抽象为两个关键阶段:Map阶段负责数据分解和初步处理&#xff…

7月23日华为机考真题第二题-200分

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ bishipass.com 02. 图书馆资源分配系统 问题描述 A先生是一位图书馆管理员,负责管理图书采购和分配工作。图书馆收到了来自不同出版社的图书批次,同时有多位读者代表排队申请图书…

基于深度学习的图像分类:使用ResNet实现高效分类

最近研学过程中发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击链接跳转到网站人工智能及编程语言学习教程。读者们可以通过里面的文章详细了解一下人工智能及其编程等教程和学习方法。下面开始对正文内容的…

JVM:工具

JVMjpsjstatjmapjhatjstackjconsolejvisualvmjps jps( Java Virtual Machine Process Status Tool ),是 JDK 中的一个命令行工具,用于列出当前正在运行的 JVM 实例的信息。其对于监控和管理运行在多个 JVM 上的 Java 应用程序特别…

Elasticsearch Circuit Breaker 全面解析与最佳实践

一、Circuit Breaker 简介 Elasticsearch 是基于 JVM 的搜索引擎,其内存管理十分重要。为了避免单个操作或查询耗费过多内存导致节点不可用,Elasticsearch 引入了 Circuit Breaker(熔断器)机制。当内存使用达到熔断器预设阈值时&a…

ARM-定时器-定时器函数封装配置

以TIMER7为例&#xff0c;对定时器函数进行封装注意事项&#xff1a;GD32中TIMER7是高级定时器&#xff0c;相关详细请参考上一篇文章。main.c//main.c#include "gd32f4xx.h" #include "systick.h" #include <stdio.h> #include "main.h" …

【日志】unity俄罗斯方块——边界限制检测

Bug修复记录 项目场景 尝试使用Unity独自制作俄罗斯方块&#xff08;也许很没有必要&#xff0c;网上随便一搜就有教程&#xff09; 问题描述 俄罗斯方块的边缘检测出错了&#xff0c;对方块进行旋转后&#xff0c;无法到达最左侧或者最下侧的位置&#xff0c;以及其他问题。演…

C++ string:准 STL Container

历史STL 最初是一套独立的泛型库&#xff08;Alexander Stepanov 等人贡献&#xff09;&#xff0c;后来被吸纳进 C 标准库&#xff1b;std::basic_string 则是早期 C 标准&#xff08;Cfront / ARM 时代&#xff09;就存在的“字符串类”&#xff0c;并非 STL 原生物。std::st…

Golang学习笔记--语言入门【Go-暑假学习笔记】

目录 基础语法部分相关概念 基础语法部分概念详解 可见性 导包 内部包 运算符 转义字符 函数 风格 函数花括号换行 代码缩进 代码间隔 花括号省略 三元表达式 数据类型部分相关概念 数据类型部分概念详解 布尔类型 整型 浮点型 复数类型 字符类型 派生类型…

linux中kill 命令使用详解

在Linux系统里&#xff0c;kill命令的主要功能是向进程发送信号&#xff0c;以此来控制进程的运行状态。下面为你详细介绍它的使用方法&#xff1a; 基础语法 kill [选项] [进程ID]进程ID也就是PID&#xff0c;可通过ps、pgrep或者top等命令来获取。 常用信号及其含义 信号可以…

Nginx 安装与 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服务器

Nginx 安装与 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服务器 一、Nginx安装 1. 安装依赖项 sudo yum groupinstall "Development Tools" -y # 非必须 sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y2.下载Nginx wget http://n…

写个 flask todo app,简洁,实用

- 此项目虽然看起来简单&#xff0c;实际上&#xff0c;修改成自己喜欢的样子&#xff0c;也是费时间的。 - 别人都搞AI 相关的项目&#xff0c;而我还是搞这种基础的东西。不要灰心。 - 积累。不论项目大小&#xff0c;不论难易&#xff0c;只看是否有用。项目地址&#xff1a…

4麦 360度定位

要在 ESP32 上用 4 个麦克风实现 360 声源定位&#xff0c;通常思路是通过 时延估计&#xff08;TDOA&#xff09; 几何计算&#xff0c;核心流程&#xff1a;阵列布置将 4 个麦克风等间距布置成正方形&#xff08;或圆形&#xff09;。记阵列中心为原点&#xff0c;麦克风编号…

使用yolov10模型检测视频中出现的行人,并保存为图片

一、使用yolov10模型检测视频中出现的行人&#xff0c;并保存为图片&#xff0c;detect_person.py代码如下&#xff1a;from ultralytics import YOLOv10 import glob import os import cv2 import argparsedef detect_person(videoPath, savePath):if not os.path.exists(save…

现在希望用git将本地文件crawler目录下的文件更新到远程仓库指定crawler目录下,命名相同的文件本地文件将其覆盖

git checkout main git pull origin main $source “D:\黑马大数据学习\crawler” $dest Join-Path (Get-Location) “crawler” if (-not (Test-Path $dest)) { New-Item -ItemType Directory -Path $dest | Out-Null } Copy-Item -Path $source* -Destination $dest -Recur…

网络调制技术对比表

&#x1f4ca; 网络调制技术全维度对比表​调制技术​​简称​​频谱效率​​抗噪性​​功率效率​​复杂度​​关键特性​​典型应用场景​​幅度键控​ASK低差高低/低电路简单&#xff0c;易受干扰遥控器、光通信(OOK)​频移键控​FSK低-中中中中/中抗噪较好&#xff0c;频谱…