本文转载自公众号:Excel完美,原创作者:佛山小老鼠,本文著作权归原创作者所有,本人收藏此文仅作为学习之用,不作其他目的,如有侵权,请联系我删除。

多条件求和的8种方法

大家好,今天和大分享“多条件求和”,这是一个朋友在公众号上留言,好,满足他的要求。

想要的效果:按姓名和月份对数量进行求和

一、方法1:sumifs实现

这个函数要2007版本及以及版本才有这个函数

公式=SUMIFS($C:$C,$A:$A,$E2,$B:$B,F$1)

公式解释这个函数有多个参数,也就是说它的参数不确定

1个条件就3个参数

2个条件就5个参数

3个条件就7个参数

4个条件就9个参数

第1参数:求和区域$C:$C

第2参数:条件1所在的区域$A:$A

第3参数:条件1$E2,

第4参数:条件2所在的区域$B:$B

第5参数:条件2F$1

二、方法2:Sumproduct公式=SUMPRODUCT(($A$2:$A$11=$E2)*($B$2:$B$11=F$1)*($C$2:$C$11))

公式解释第1个条件($A$2:$A$11=$E2)和第2个条件($B$2:$B$11=F$1)相乘,得到一个新的数组{1;0;0;1;0;0;0;0;0;0}

也就是说两个条件都满足返回1,不满足的返回0

{1;0;0;1;0;0;0;0;0;0}和数量($C$2:$C$11)相乘

最后外面嵌套一个SumProdcut,这个不是数组公式,不用三键Ctrl Sihft 回车,但是SumProdcut该做的事,所以有时我称之它表里不一

当然这里的SumProduct也可以用sum函数替换,用了sum就要三键,你把公式输好,然后把光标定位到编辑里,再按三键Ctrl Sihft 回车

用sum函数的公式=SUM(($A$2:$A$11=$E2)*($B$2:$B$11=F$1)*($C$2:$C$11))

三、方法3:通过&多条件变1条件公式

=SUMPRODUCT(($A$2:$A$11&$B$2:$B$11=$E2&F$1)*($C$2:$C$11))

四、方法4:Mmult函数公式

=SUM(MMULT(N(TRANSPOSE(($A$2:$A$10=$E2)*($B$2:$B$10=F$1))),$C$2:$C$10))

公式解释先申明,这个题不要选择这种解法

如果你是学习练手mmult可以试试

Mmult这个函数有2个参数

两个参数可以是数组,单元格区域

第1参数的列数必须要和第2参数的行数相等,否则报错,也就是为什么第1参数前面加了一个转置函数Transpose

不支持布尔值True,False ,所以公式通地N函数把True转为1,把False转为0

生成的一个新的数组是以第1参数的行数和第2参数的列数组成一个新的数组

如果大家想更详细深入的学习Mmult可以进入公众号往期教程有几个分享。

五、方法:Sum if公式

=SUM(IF($A$2:$A$10&$B$2:$B$10=$E2&F$1,$C$2:$C$10))

这个公式不作解释了,和前面的方法2,方法3差不多

六、方法6:数据库函数Dsum公式=DSUM(A1:C11,3,E1:F2)

公式解释Dsum函数有3个参数

第1参数:数据源

第2参数:要进行求和在数据源第几列?像vlookup第3参数

第3参数求和条件,有点像高级筛选的条件

七、数据透视表法,这个是我推荐的方法具体操作见动画

八、方法8 字典 vba数组具体效果看动画(如果数据量大,推荐此方法)

如果你的表数据量大,公式太多会卡表,建议用此方法

代码如下

Option Explicit

Sub Test()

Dim arr1, Dic, x, k, arr2(), y

Set Dic = CreateObject('Scripting.Dictionary')

arr1 = Range('A1').CurrentRegion

ReDim arr2(1 To UBound(arr1), 1 To UBound(arr1, 2))

For x = 2 To UBound(arr1)

If Not Dic.exists(arr1(x, 1) & arr1(x, 2)) Then

k = k 1

Dic(arr1(x, 1) & arr1(x, 2)) = k

For y = 1 To UBound(arr1, 2)

arr2(k, y) = arr1(x, y)

Next y

Else

arr2(Dic(arr1(x, 1) & arr1(x, 2)), 3) = arr2(Dic(arr1(x, 1) & arr1(x, 2)), 3) arr1(x, 3)

End If

Next x

[E1].CurrentRegion.Clear

[E1].Resize(1, UBound(arr1, 2)) = arr1

[E2].Resize(k, UBound(arr1, 2)) = arr2

[E1].CurrentRegion.Borders.LineStyle = 1

[E1].CurrentRegion.EntireColumn.AutoFit

End Sub

好了,今天我们聊到这里,大家再见290集函数案例视频售价100元包含函数数组、嵌套、加权、降维等讲解525集Excel 视频售价100元包括基础技巧、函数、透视表,VBA。在线网络开设的班级,常年招生函数班、VBA班;数据透视表班

mysql 多条件求和_多条件求和的8种方法【Excel分享】相关推荐

  1. 艰难的选择_处理艰难对话的6种方法:分享如何衡量成功

    艰难的选择 通过博客每周社区管理主题来帮助我们收集社区知识. 每个新主题发布后,博客文章应在下周四发布. 下周的挑战是衡量 成功 . 了解在上周的博客挑战中招募新社区成员的方法以及如何维护现有社区 . ...

  2. mysql数据库最后一步卡住了_[数据库]解决MySQL安装到最后一步未响应的三种方法...

    [数据库]解决MySQL安装到最后一步未响应的三种方法 0 2018-07-13 01:01:27 这种情况一般是你以前安装过MySQL数据库服务项被占用了. 解决方法: 方法一:安装MySQL的时候 ...

  3. php mysql 表字段_php mysql获取表字段名称和字段信息的三种方法

    php mysql获取表字段名称和字段信息的三种方法 先给出本实例中使用的表的信息: 使用desc获取表字段信息 php代码如下: mysql_connect("localhost" ...

  4. mysql c接口返回自增id_详解mysql插入数据后返回自增ID的七种方法

    引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...

  5. mysql 新增返回主键自增id_详解mysql插入数据后返回自增ID的七种方法

    引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...

  6. mysql 文件批量插入_mysql大批量插入数据的4种方法示例

    前言 本文主要给大家介绍了关于mysql大批量插入数据的4种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法一:循环插入 这个也是最普通的方式,如果数据量不是很大,可以使用, ...

  7. 三菱FX3U系列PLC运动控制_伺服回原点的3种方法示例

    三菱FX3U系列PLC运动控制_伺服回原点的3种方法示例 方法1: 运动的方向为圆形.环形.电机往一个方向转动: 只有一个原点开关,没有极限开关 如下图所示, 原点回归的方式为:启动回原点后,电机开始 ...

  8. python求和_用python求和

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我正在计算一个求和级数. 我有一个有值的表(见下文)a_(ij),并且p = 1 ...

  9. java线程条件变量_使用条件变量(多线程笔记)

    条件变量属性: 使用条件变量可以以原子方式阻塞线程,知道某个特定条件为真为止.条件变量始终与互斥锁一起使用. 使用条件变量,线程可以以原子方式阻塞,知道满足某个条件为止.对掉件的测试时在互斥锁的保护下 ...

  10. 能否构成三角形的条件代码_初中数学证明三角形全等方法总结

    在证明线段或角相等时,解题的关键往往是根据条件找到两个可能全等的三角形,再证明这两个三角形全等,最后得出结论. 利用全等三角形的性质可以证明分别属于两个三角形中的线段或角相等. 下面介绍证明三角形全等 ...

最新文章

  1. OpenCV寻找复杂背景下物体的轮廓
  2. Java集合LinkedList
  3. mysql怎么用sb文件_mysql脚本mysql_safe解释、mysql.sock文件、mysql_install_db
  4. 初一模拟赛总结(3.30)
  5. 在JPA中处理Java的LocalDateTime
  6. 机器人庄园作文_十年后的家乡作文精选8篇
  7. AAAI 2018经典论文获奖者演讲:本体论的昨天和今天
  8. Intel 64/x86_64/IA-32/x86处理器 - 指令格式(6) - 8086/16位指令位移量字节/立即数字节
  9. “微软高管”拯救必应 搞定盖茨成为合伙人?官方打脸:实为开除员工
  10. 小米A3真机开箱照片曝光:水滴屏+后置三摄
  11. 剑指offer——6.从尾到头打印链表
  12. 英特尔再爆重大芯片漏洞,苹果谷歌微软相继中招!
  13. Linux使用/proc/stat计算CPU使用率
  14. python本科毕业论文范文_【软件工程论文】软件工程论文范文(共40篇)
  15. 单片机蓝牙模块与手机蓝牙通信(7)
  16. 34本设计师必看的书籍推荐
  17. mysql最后一步装不上_mysql安装最后一步 安装不上
  18. 答案揭晓 | 关于云基础架构,你了解多少?
  19. 搜狐号按作者火车头采集规则
  20. 安卓编程 app图标自定义

热门文章

  1. 夜曲歌词 拼音_周杰伦夜曲的歌词
  2. 2018款树莓派3b+ 登陆中国
  3. 洋桃开发板笔记(五 ) Flash闪存的使用
  4. Unity:发布WebGL遇到的坑
  5. 名词用作动词举例_名词作动词的句子
  6. 谷歌浏览器与电脑时间不同步
  7. js 文件下载请求两种方式
  8. 中国雅虎邮箱明日停止服务 邮件帐户均将删除
  9. 有趣的JS加密(一)AA加密颜文字加密
  10. 2017双十一珠峰算法框架Hierarchical中控算法