当前位置: 首页 > news >正文

Excel 如何进行多条件查找或求和?

处理“多条件”的统计和查找是Excel数据分析中非常高频的场景。Excel提供了一系列强大的“IFS”家族函数来专门解决这类问题。

这些函数的设计思想非常相似,一旦你学会一个,其他的就能触类旁通。

  • SUMIFS: 多条件求和
  • COUNTIFS: 多条件计数
  • AVERAGEIFS: 多条件求平均值

此外,对于多条件查找,最强大的工具依然是 XLOOKUP


一、多条件求和:SUMIFS

SUMIFS函数可能是这个系列里最常用的。它的作用是:当满足所有指定条件时,对某个区域进行求和。

语法:
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

大白话翻译:
=SUMIFS(你要对哪个区域求和, 条件区域1, 条件1, 条件区域2, 条件2, ...)

  • sum_range: 最终要求和的那个数字区域(比如“销售额”列)。
  • criteria_range1: 第一个条件的判断区域(比如“区域”列)。
  • criteria1: 第一个条件的具体内容(比如“华北”)。
  • 后续的 criteria_range2, criteria2… 可以不断添加,支持多达127个条件对。

实战场景:
假设我们有以下销售数据表:

ABCD
1区域产品销售员销售额
2华北A产品张三5,000
3华南B产品李四8,000
4华北B产品张三6,500
5华北A产品王五7,200
6华南A产品李四9,100

问题1:计算“华北”区域的总销售额? (这是一个单条件问题,可以用SUMIF,但SUMIFS也能做)

  • 公式=SUMIFS(D:D, A:A, "华北")
  • 解析
    • D:D:最终要求和的是“销售额”列。
    • A:A:条件判断的区域是“区域”列。
    • "华北":具体的条件是等于“华北”。
  • 结果:18,700 (5000 + 6500 + 7200)

问题2:计算“华北”区域 “A产品” 的总销售额? (这是典型的多条件问题)

  • 公式=SUMIFS(D:D, A:A, "华北", B:B, "A产品")
  • 解析
    • D:D:求和区域还是“销售额”。
    • A:A, "华北":第一个条件对,区域是“华北”。
    • B:B, "A产品":第二个条件对,产品是“A产品”。
  • 结果:12,200 (5000 + 7200)

问题3:计算“张三”在“华北”区域的总销售额?

  • 公式=SUMIFS(D:D, C:C, "张三", A:A, "华北")
  • 结果:11,500 (5000 + 6500)

二、多条件计数:COUNTIFS

COUNTIFS函数的逻辑更简单,因为它不需要“求和区域”,只需要告诉它一系列的条件区域和条件即可。

语法:
=COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)

大白话翻译:
=COUNTIFS(条件区域1, 条件1, 条件区域2, 条件2, ...)

实战场景 (使用相同数据表):

问题1:统计“华北”区域有多少条销售记录?

  • 公式=COUNTIFS(A:A, "华北")
  • 结果:3

问题2:统计“华北”区域 “A产品” 的销售次数(订单数)?

  • 公式=COUNTIFS(A:A, "华北", B:B, "A产品")
  • 结果:2

问题3:统计销售额大于6000的订单有多少笔?

  • 公式=COUNTIFS(D:D, ">6000")
    • 重要技巧:当条件是大于、小于等比较运算时,需要将运算符和数值放在英文双引号内。
  • 结果:4

问题4:统计“李四”销售额大于8000的订单有多少笔?

  • 公式=COUNTIFS(C:C, "李四", D:D, ">8000")
  • 结果:1

三、多条件求平均:AVERAGEIFS

AVERAGEIFS的语法结构和SUMIFS完全一样。

语法:
=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

大白话翻译:
=AVERAGEIFS(你要对哪个区域求平均, 条件区域1, 条件1, 条件区域2, 条件2, ...)

实战场景 (使用相同数据表):

问题:计算“华北”区域“A产品”的平均销售额?

  • 公式=AVERAGEIFS(D:D, A:A, "华北", B:B, "A产品")
  • 解析:找到所有满足“华北”和“A产品”的记录(有2条,销售额分别是5000和7200),然后计算它们的平均值。
  • 结果:6,100 ((5000 + 7200) / 2)

四、多条件查找:XLOOKUP

虽然VLOOKUPINDEX+MATCH也能通过一些技巧实现多条件查找,但通常比较复杂(比如需要创建辅助列或使用数组公式)。而XLOOKUP虽然本身不直接支持多条件,但可以通过一个非常聪明的技巧来实现,而且非常直观。

技巧核心:将多个条件用 & 连接成一个唯一的“辅助键”。

场景:我想查找“华北”区域,“A产品”的第一个销售员是谁?

公式:
=XLOOKUP("华北" & "A产品", A:A & B:B, C:C, "未找到")

解析这个神奇的公式:

  1. "华北" & "A产品": 这是我们要查找的目标值。我们手动将两个条件合并成一个文本字符串 "华北A产品"
  2. A:A & B:B: 这是查找区域。这个操作会在内存中动态地创建一个新的“虚拟列”。这一列的每一行都是由A列和B列对应单元格合并而成的。
    • 第2行是 “华北A产品”
    • 第3行是 “华南B产品”
    • 第4行是 “华北B产品”
  3. C:C: 这是要返回结果的列(“销售员”列)。
  4. "未找到": 找不到时的提示。

XLOOKUP现在就在这个虚拟列里查找"华北A产品",当它在第2行找到匹配项时,就会返回同一行C列的值,也就是“张三”。

这种方法极其强大和灵活,可以扩展到任意多个条件。

总结

需求推荐函数核心思想
多条件求和SUMIFS先指定求和区域,再罗列一堆“条件区域”和“条件”。
多条件计数COUNTIFS直接罗列一堆“条件区域”和“条件”。
多条件求平均AVERAGEIFS和SUMIFS一样,先指定求平均区域,再罗列条件。
多条件查找XLOOKUP& 将多个条件和条件区域连接成一个,进行查找。

当你需要根据多个标准来筛选数据并进行计算时,请第一时间想到这个强大的 IFS家族XLOOKUP的连接技巧

http://www.dtcms.com/a/266425.html

相关文章:

  • BLDC电机-运动控制---stm32时钟树定时器SYSTICKRTC的学习
  • HTTP 压缩
  • JavaScript与HTML:Web开发的双翼
  • 使用 C# 发送电子邮件(支持普通文本、HTML 和附件)
  • 基于SpringBoot+Vue的高校心理健康服务平台(AI心理分析、websocket即时通讯)
  • 【第三章:神经网络原理详解与Pytorch入门】01.神经网络算法理论详解与实践-(4)神经网络中的重要组件
  • 自动驾驶感知模块的多模态数据融合:时序同步与空间对齐的框架解析
  • [开源]微软 PowerToys 获 0.92 版本更新:新增系统托盘图标开 / 关功能、改进 Command Palette
  • RabbitMQ 4.1.1初体验
  • NeighborGeo:基于邻居的IP地理定位(四)
  • 攻防世界-Reverse-insanity
  • 通用业务编号生成工具类(MyBatis-Plus + Spring Boot)详解 + 3种调用方式
  • 基于 ETL 工具实现人大金仓数据库的数据迁移与整合实操指南
  • 设计模式之代理模式--数据库查询代理和调用日志记录
  • Unity-MMORPG内容笔记-其三
  • FastAPI 返回 422 Unprocessable Entity
  • 【Linux操作系统 | 第十篇】Linux组管理实践 ---土匪和警察的游戏
  • 【代码复现】YOLO11复现全流程+自定义数据集训练测试
  • 双系统如何做接口认证-V1
  • RabbitMQ 高级特性之重试机制
  • 大流量业务云主机选型:AWS、Oracle、DigitalOcean、Linode、阿里云深度对比
  • 硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
  • 服务器 - - QPS与TPS介绍
  • (2)手摸手-学习 Vue3 之 变量声明【ref 和 reactive】
  • Node.js核心API(fs篇)
  • 状态机管家:MeScroll 的交互秩序维护
  • Qt创建线程的方法
  • Winscope在aosp 13/14/15版本的使用总结
  • AI Agent在企业管理中的落地路径:从概念到实践的转型指南
  • 面试版-前端开发核心知识