利用excel求特定条件下的最大/小值(maxif/minif)
欢迎关注我的公众号:Smilecoc的杂货铺
在Excel中有sumif,countif等函数可以实现求特定条件下数值的加总和计数,那么如何在一个或多个条件下求出此时的最大值或者最小值呢?
其实sumif函数和countif函数实际上都是可以由sum/count+if函数通过数组实现的,所以求特定条件下的最大/小值也可以使用同样的方法。同时maxifs函数已经可以在office365和office 2019中使用了,具体可以参见:https://support.office.com/zh-cn/article/MAXIFS-%e5%87%bd%e6%95%b0-dfd611e6-da2c-488a-919b-9b6376b28883,如果使用的是这两个版本的office可以直接使用
求最大值:
(1)单条件
如果只有一个条件,例如需要求同一类别下的最大的数量,
可以参照以下公式即可:
=MAX(数字值区域*条件1)
=MAX(IF(条件区域=条件1,数字值区域)
现在需要找到每一个类别下的最大值,输入公式=MAX(($A2:2:2:A8=A2)∗(8=A2)*(8=A2)∗(C2:2:2:C8))或者=MAX(IF(8))或者=MAX(IF(8))或者=MAX(IF(A2:2:2:A8=A2,8=A2,8=A2,C2:2:2:C$8)),因为里面涉及到数组的计算,所以要让公式生效,必须三键同时按下:Ctrl+Shift+Enter。结果如下图 所示:
注意这里的相对引用和绝对引用,如果条件是在固定的单元格需要使用绝对引用(加上$符)
(2)多条件
如果是多条件的求最大值呢?可以参照以下公式:
=MAX(数字值区域条件1条件2…)
=MAX(IF((条件区域1=条件1)*(条件区域2=条件2)…,数字值区域)
如图所示,如果要求每个城市,每个类别中的最大值,需要在目标单元格内输入公式:=MAX(($A2:2:2:A8=A2)∗(8=A2)*(8=A2)∗(B2:2:2:B8=B2)∗(8=B2)*(8=B2)∗(C2:2:2:C8))或者=MAX(IF((8))或者=MAX(IF((8))或者=MAX(IF((A2:2:2:A8=A2)∗(8=A2)*(8=A2)∗(B2:2:2:B8=B2),8=B2),8=B2),C2:2:2:C$8)),并且三键同时按下让公式生效。
求最小值:
(1)单条件
如果只有一个条件,例如需要求同一类别下的最大的数量,
可以参照以下公式即可:
=MIN(IF(条件区域=条件1,数字值区域)
现在需要找到每一个类别下的最小值,输入公式=MIN(IF($A2:2:2:A8=A2,8=A2,8=A2,C2:2:2:C$8)),同时按下:Ctrl+Shift+Enter。结果如下图 所示:
(2)多条件
如果是多条件的求最小值呢?可以参照以下公式:
=MIN(IF((条件区域1=条件1)*(条件区域2=条件2)…,数字值区域)
如图所示,如果要求每个城市,每个类别中的最小值,需要在目标单元格内输入公式:=MIN(IF(($A2:2:2:A8=A2)∗(8=A2)*(8=A2)∗(B2:2:2:B8=B2),8=B2),8=B2),C2:2:2:C$8)),并且三键同时按下让公式生效。
一个有趣的点:
=MAX(数字值区域条件1条件2…)这类型的公式改为MIN后就不可用了,而=MAX(IF((条件区域1=条件1)*(条件区域2=条件2)…,数字值区域)直接改为MIN是可行的,那么原因是什么呢?
大家可以尝试将公式改为MIN(数字值区域条件1条件2…),会发现返回最小值全部都是0。
这是因为=MAX(数字值区域条件1条件2…)这一个公式相当于每一个数组中的元素都是和另外的一个数组中的元素相乘的,当不满足条件时返回false,而false乘以任何数字都会得到0,所以在判断最小的值的时候0是最小的值。
而=MAX(IF((条件区域1=条件1)(条件区域2=条件2)…,数字值区域)的IF((条件区域1=条件1)(条件区域2=条件2)…,数字值区域)函数保证了不满足条件时返回false(if函数没有第三参数时默认返回false),全部满足条件后返回数字值,min函数会忽略错误值,从而就可以返回真正的最小值了
个人公众号:Smilecoc的杂货铺,欢迎关注!
利用excel求特定条件下的最大/小值(maxif/minif)相关推荐
- strcat在某种特定条件下的优化
strcat是C语言一个基本的字符串操作函数,它的源代码一般是这样的. char *strcat(char *dest, const char *src) { char *tmp = ...
- 在Excel中根据条件查找匹配多个值
在Excel中根据条件查找匹配多个值(vlookup只能匹配第一个值) 之前在深圳的时候就被问过这个问题,今天又遇到同事在问,索性记录在此. 如下图,根据E列的值,在A列中查找对应的数据,输出匹配行上 ...
- Uipath 利用excel筛选结果进行判断操作/或者取值操作(if,switch,flow switch.....)
Uipath 利用excel筛选结果进行判断操作/或者取值操作(if,switch,flow switch-) 应用案例:需要对一个目标值进行查询是否在某个数据表中,比如:查询A/X是否存在或者查询A ...
- FineReport:关于扩展行列求各种条件下的函数运用
最简单的扩展列,扩展行的求"最大,最小,平均"值的例子 设计图 效果图 相关函数 =MAX(B2:E2) =MIN(B2:E2) =AVERAGE(B2:E2) 这个是(满足条件) ...
- 拓扑绝缘体 量子计算机,特定条件下石墨烯可变身拓扑绝缘体
据美国麻省理工学院网站近日报道,该校科学家通过研究发现,在某些极端情况下,可将石墨烯转化为具有独特功能的拓扑绝缘体,有望为量子计算机的制造提供新思路.相关研究发表在本周出版的<自然>杂志上 ...
- EXCEL数组公式,求多条件下的中位数的实现方法和注意点
1 如果要 取得C列c4:c18 符合初级,且去掉空值的 中位数 median 如果只需要取,符合 初级 这种单条件的中位数 =MEDIAN(IF(B:B=E4,C:C)) 如果需要多条件,符合条件1 ...
- vue 特定条件下绑定事件
今天写了个小功能,看起来挺简单,写的过程中发现了些坑.1.div没有disabled的属性,所以得写成button2.disabled在data时,默认是true,使得初始化时,默认置灰按钮,无法点击 ...
- pyspark 条件_删除pyspark中特定条件下的特定行
我是火花的新手 . 我想删除一行使用spark sql.due来删除temptable中的不兼容性到目前为止我已经读过,操作删除像sql查询我需要永久保存pyspark中的表,这是hive表我猜 . ...
- 利用Excel计算DAU、商品转化率和ARPU值等
这个小练习是根据某公众号发布的内容,自己再进行整理的,觉得非常不错,所以拿来练练手. Excel记录了某款电商产品在1月1日发布,1个月后的新增及留存数据.商品销售数据.商品详情页浏览数据.及 ...
最新文章
- R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间、将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间、适应时间段跨越多天的情况
- Linux内核设计与实现笔记(一) 虚拟文件系统、块I/O层
- spark 源码分析 Blockmanager
- Python学习 Day 025 -模块相关
- float 常见用法与问题--摘抄
- [CTSC2017]吉夫特(思维+巧妙)
- 好雨云帮如何对接Git Server
- MFC开发IM-字符串转换大全
- 动手组装深度学习机器+RTX2070Super
- windows安装VS2015
- 机械制图类毕业论文文献有哪些?
- python可以手眼定标吗_北京高碑店小学生Python编程周末班
- jdk1.8的环境配置
- html图片轮播15个自动,15个超强的jQuery/HTML5图片轮播插件
- 中文维基百科数据处理
- Basic Sensor Calibration (1) -- 加速计传感器校准
- Go标准容器之Ring
- 制作vagrant镜像
- web前端利用leaflet生成粒子风场,类似windy
- 安卓11 Sdcard文件读取权限问题
热门文章
- Unity 组件批量复制
- Notion 使用技巧
- 吴军关于“命运”的分享
- 论文查重格式有什么影响?
- eSIM终端的生产流程的思考
- windows 11 安装jdk1.8
- 电动车电池管理系统c语言实训,纯电动汽车电池管理系统(BMS)实训台,汽车电池教学设备...
- 转载(https://blog.csdn.net/qq_36738482/article/details/72823509)大数据的概念
- 从面向对象编程转为面向接口编程
- 视频剪辑PR各种版本