在EXCEL中,SUMIFS函数是"多条件求和"函数,但是我们工作需要完成多条件求差,EXCEL里是没有"多条件求差值"函数的,所以我们可以逆向利用多条件求和函数SUMIFS来完成"多条件求差值"

先介绍下SUMIFS函数的参数和基础案例:

参数:SUMIFS(提取求和的区域,包含条件值1的条件区域,条件值1,……)最多可以有127个条件区域和127个条件值。

基础案例一:对每个产品分地区求和,如图1

图1

因为这两个表的首行"地区"顺序是一致的,都是从"一区"到"五区",所以我们只要在J5单元格输入公式,向右填充,向下填充就可以批量计算完每个产品的合计值。

图2

J5单元格输入公式=SUMIFS(C$2:C$11,$B$2:$B$11,$I5),然后选中光标,向右,向下拖动就可以了。

  • 参数1:要提取求和的区域,"行绝对引用"是为了保证数据区域是从第2行开始到第11行结束,"列相对引用"是为了保证向右拖动时,数据区域会从第C列变成第D列。
  • 参数2:包含条件值"A产品"的条件区域,"绝对引用"是条件区域锁定,不会发生偏移。
  • 参数3:表示要根据条件值"A产品"求合计,向下拖动就会变成C产品、D产品、B产品。

介绍完用SUMIFS"多条件求和"的用法,现在讲解下怎么利用SUMIFS函数来完成"多条件求差值",完成求减法功能。

图3

如图3、求差值案例二:求每个产品在每个区还剩多少库存?(总入库-总出库)

思路分析:"A产品"在"一区"的库存 = "一区A产品的入库数 - 一区A产品的出库数"。

  1. K4单元格输入=SUM(SUMIFS($D$2:$D$15,$B$2:$B$15,$J4,$C$2:$C$15,{"入库","出库"})*{1,-1}),因为是数组计算,所以输入完公式后要按CTRL+Shift+回车才可以。
  2. SUMIFS($D$2:$D$15,$B$2:$B$15,$J4,$C$2:$C$15,{"入库","出库"})得到结果{1184,738},因为SUMIFS无法对数组求和,所以要在最前面加一个数组求和函数SUMPRODUCT。
  3. =SUMPRODUCT({1184,738}*{1,-1})变成=SUMPRODUCT(1184*1+738*(-1)),返回最终结果446。
  4. 然后向右拖动,向下拖动就行。

思路解析图片版:如图4

图4

思路拓展:如果是“入库总数”+“出库总数”,就省略不写{1,-1},因为SUMPRODUCT本身就是数组求和计算。


如图5、案例三:按日期多条件求和或多条件求差值

图5

思路分析:按“一月份”、“二月份”或“三月份”等月份的条件求和,首先插入一列辅助列,用MONTH函数提取月份数,再根据“月份数”条件求和。

思路解析图片版:如图6

图6

如果想求差值,3月份-1月份是多少?

输入公式=SUMPRODUCT(SUMIFS(C$2:C$15,$H$2:$H$15,{3,1})*{1,-1}),

按CTRL+Shift+回车,得出结果为-2178。3月少,1月多,所以结果为负数。


如图7、案例四:参数添加通配符*,数组模糊查找条件求和

如图7

在J2单元格输入=SUMPRODUCT(SUMIFS(C$2:C$15,$B$2:$B$15,{"*A*","*b*"})),按CTRL+Shift+回车,完成数组求和。字母B和b是一样的,不区分大小写。


如图8、案例五:合并单元格怎么正确多条件求和?

图8

在A列有合并单元格下,直接在H3单元格输入公式=SUMIFS(B$2:B$8,$A$2:$A$8,$G3),得出的结果"800"是错误的

思路分析:我们需要对A列的合并单元格进行细节处理,才可以用SUMIFS条件求和。

  1. 选中A2:A8区域——点“开始”选项卡的"格式刷",在随便一个区域点一下,我们选中O列O2单元格,这时O2:O8就会变出同样的合并单元格。
  2. 选中A2:A8区域——点“开始”选项卡的“合并后居中”,就取消了合并单元格——按F5,定位条件,空值——直接输入公式=A2,按CTRL+回车,就填充好了。
  3. 选中O2:O8区域——点“开始”选项卡的"格式刷",在A2单元格点一下,就会重新出现合并单元格。
  4. 这时再用公式计算,在H3单元格输入公式=SUMIFS(B$2:B$8,$A$2:$A$8,$G3),得出结果1856是正确的。

如图9:合并单元格处理演示

图9:合并单元格细节处理

如图10:SUMIFS多条件求和演示

图10:多条件求和操作演示


如图11、案例六:“求和区域”顺序不一致,怎么自动变换求和区域?

图11

思路分析:我们通过“公式”选项卡下的“定义名称”,再配合INDIRECT函数来实现动图引用。

  1. 选中B1:E8区域——点“公式”选项卡下的“根据所选内容创建”,选首行,确定。
  2. 这时“名称管理器”里就有根据“一区”、“二区”、“三区”、“四区”建立的名称。
  3. 在H3单元格输入=SUMIFS(INDIRECT(H$2),$A$2:$A$8,$G3),完成。
  4. INDIRECT(H$2)意思是引用H2单元格"二区"地址的内容,因为我们”定义了名称",所以会引用"二区"对应的数据区域。(关于INDIRECT函数的使用可以看我的前面文章)

如图12:“定义名称”动态演示

图12

如图13:嵌套INDIRECT函数,引用“定义名称”的内容,完成动态引用求和区域,操作演示

图13

以上就是EXCEL的SUMIFS多条件求和函数的相加,相减及数组加减的用法。喜欢的朋友点点关注,帮忙转发、评论、点赞、收藏,非常感谢!

excel减法函数_发现EXCEL隐藏功能,SUMIFS函数居然可以多条件求差值看了不后悔...相关推荐

  1. 计算机求差值公式,excel怎么求差值 excel减法公式使用教程

    在ecxel表格中处理数据时,我们经常会用到加减乘除的公式,本文主要便是为大家讲述excel求差值的使用,那么大家知道有几种求差值的方法?下面小编为大家介绍两种快速求差值的方法,不懂的朋友可以多看几遍 ...

  2. 数据库创建函数_达梦数据库创建UUID函数

    数据库创建函数_达梦数据库创建UUID函数 接触达梦数据库有一段时间了,整理了一些资料,今天分享一下达梦数据UUID自定义函数 UUID函数定义 很多数据库都有提供UUID函数,可是接触达梦数据库后, ...

  3. wps怎么写分段函数_连Excel都做不到!WPS这几项真香功能你用过吗

    [PConline技巧]作为一名资(ban)深(zhuan)财务,自然对Excel了如指掌.虽然Excel很强大,但很多细节相对繁琐,即便是一个简单操作,有时也要借助函数来完成.不久前的一次机会,我试 ...

  4. 尝试引用已删除的函数_学Excel函数公式,你必须要掌握这些知识

    函数与公式是Excel的特色之一,充分展示出其出色的计算能力,灵活使用函数与公式可以极大地提高数据处理分析的能力和效率. 今天我们分享的是函数和公式的定义,虽然都是最基本的知识,但理解并掌握Excel ...

  5. astype函数_从Excel到Python:最常用的36个Pandas函数!最完整的Pandas教程!

    本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗.预处理,以及最常见的数据分类,数据筛选,分类汇总,透视等最常见的操作. 生成数据表 常见的生成数据表的方法有两 ...

  6. excel自动筛选_在Excel自动筛选器中隐藏箭头

    excel自动筛选 When you turn on the filter in an Excel worksheet list, or if you create a named Excel tab ...

  7. correl函数_【Excel函数】CORREL函数 - 曹海峰个人博客

    本文介绍Microsoft Excel中CORREL函数的语法和用法. CORREL函数适用于:Excel2003.Excel2007.Excel2010.Excel2013.Excel2016. 函 ...

  8. excel切片器_用Excel切片器做自动化表格,动态呈现,瞬间高大上

    最近两个多月,猪肉价格成为很多人关注的热点话题. 根据新闻报道,在今年8月的第二周,猪肉价格同比上涨了46.8%,部分地区达到了32.61元/公斤的高价,没想到今年,这位"二师兄" ...

  9. excel自动筛选_在Excel中按选择自动筛选

    excel自动筛选 In Excel 2003, you can add a couple of buttons to the toolbar to make it easy to filter a ...

最新文章

  1. build_transformer_model如果不返回keras的bert模型返回的是什么?
  2. python搭建环境是什么_python虚拟环境是什么?python虚拟环境的介绍
  3. Weblogic 启动慢解决方法
  4. 如果你不曾失败,只因你从未尝试
  5. python设计模式6-适配器模式
  6. 开发常用常用插件介绍
  7. [HCNA] 静态路由配置实例
  8. 通过身份证号码进行归属地的查询、出生日期,以及判断性别(升级版)
  9. 计算机网络发展的第四阶段特点,计算机网络的发展可分为哪几个阶段?每个阶段各有什么特点?...
  10. java英文翻译_Java实现英文文本单词翻译器功能的简单实例
  11. Mir2Ei客户端真彩色支持
  12. 如何创建属于自己的域名邮箱
  13. 2021ccpc东北四省D思维线段树
  14. git log查看日志中文乱码的解决方法,绝对好用2021
  15. 常用网址收藏 (zz)
  16. 实习日记——Day2
  17. A股暴跌三日市值蒸发4.2万亿 股民人均浮亏超2万
  18. 小米盒子进入android,当北市场教您如何使用小米盒子安装非Android大型游戏
  19. 面试经验 - 怎么回答“跳槽”的原因?
  20. 2019年分享几个有趣实用的福利给大家

热门文章

  1. 《当程序员的那些狗日日子》(五十五)另一种生存之道
  2. Supervised Hashing for Image Retrieval via Image Representation Learning
  3. 怎么修改计算机密码界面的背景,操作方法:在Win10中输入密码时如何修改登录界面的背景图片(两种方法)...
  4. createjs打飞机
  5. 【兑吧360】温暖冬日团圆年,贴心好礼迎新春
  6. stm32f407 四路pwm输出_STM32之---PWM
  7. 双网卡teamviewer linux,钉钉远程打卡2019实践录
  8. 学习webpy官网示例笔记
  9. cast from pointer to smaller type ‘int‘ loses information —— NDK 开发
  10. 请定义一个交通工具(Vehicle)的类 其中有属性: 速度(speed) 体积(size)等等 方法移动(move())