MAX、MIN和IF函数,组合使用效果好
哈喽,大家好,今天分享一个关于考勤的函数运用。
需求:根据打卡数据明细,得出每个员工的上下班考勤时间。
效果图如下。
步骤:
【1】计算出上班考勤,即返回每个人的最早打卡时间(最小时间值)。注意,输入公式后,需要按住Ctrl+Shift不放,再按回车。
=MIN(IF(D2=$A$2:$A$27,$B$2:$B$27))
【2】计算出下班考勤,即返回每个人的最晚打卡时间(最大时间值)。
=MAX(IF(D2=$A$2:$A$27,$B$2:$B$27))
公式解说:
(1)D2=$A$2:$A$27,判断在姓名列是否存在D2单元格朱某,如果存在则返回打卡时间列对应的数据,否则逻辑值False。
(2)用Min或Max函数返回步骤(1)数组中的最小或最大值。
(3)Ctrl+Shift+Enter。三键结束,返回结果。
(4)提示:判断的区域和返回的区域 需要绝对引用哦。
如果你使用的是office 2019或者是最新版本的WPS表格,还可以使用MINIFS和MAXIFS函数,试试你能使用这两个函数完成计算吗?
涨知识,MIN函数不同用法
函数MIN:返回一组数值中的最小值。
1、求最小值
计算B列总成绩中的最小值:
输入公式:=MIN(B2:B8)
你以为函数MIN就这个玩法吗?
接下来我们一起来看下函数MIN的一些其他玩法!
2、单条件查找
查找姓名为“爱知趣”的总成绩:
输入公式:=MIN(IF(A:A=D2,B:B))
数组公式,按<Ctrl+Shift+Enter>三键结束!
使用函数MIN进行查找时要注意以下两点:
①条件区域的数据必须是唯一的(如果不是唯一的,其结果返回的是最小的那个);
②查找返回的结果必须是数字。
3、按条件求最小值
求姓名为“爱知趣”的最小总成绩:
输入公式:=MIN(IF(B:B=E2,C:C))
数组公式,按<Ctrl+Shift+Enter>三键结束!
与上例不同的是,B列的姓名不是唯一的,姓名中有多个“爱知趣”,其结果返回的是最小的那个。
4、多条件查找
查找班级为“一班”且姓名为“爱知趣”的总成绩:
输入公式:
=MIN(IF(A:A=E2,IF(B:B=F2,C:C)))
数组公式,按<Ctrl+Shift+Enter>三键结束!
5、求平均值
求三科成绩都大于等于60分的平均值:
输入公式:
=MIN(B2>=60,C2>=60,D2>=60)*AVERAGE(B2:D2)
MIN(B2>=60,C2>=60,D2>=60)部分若三科成绩中有一科成绩小于60分,函数MIN部分将返回0;只有当三个条件都成立时才返回1,也就是说三科成绩都大于等于60分时才返回对应平均值。
6、容错
如下图,计算金额:
输入公式:=B2*C2
单价为文本的,其金额返回错误值#VALUE!,遇到这种情况,该怎么规避错误值呢?
excel中有专门的容错函数,比如使用函数IFERROR:
其实,使用函数MIN也可以:
输入公式:=MIN(B2)*MIN(C2)
函数MIN可以忽略逻辑值及文本。
7、根据上下限计算提成
提成低于1000元的,按1000元计算;
提成在1000-5000元之间的,按实际提成计算;
提成超过5000元的,按上限5000元计算。
输入公式:
=MIN(MAX(1000,B2),5000)
MAX(1000,B2)部分将B2单元格提成622与下限1000进行比较,返回最大值,即返回1000;
将1000与上限5000进行比较,用函数MIN返回最小值,即返回1000。
MIN(MAX(下限,提成),上限)
Excel统计函数——MIN函数详解
函数功能
MIN函数用于返回数据集中的最小值。
函数语法
MIN(number1,number2,…)
参数解释
number1,number2,…:表示要找出最小数值的1~30个数值。
实例1 返回100米跑中用时最短的次数编号
表格中统计了100米跑中10次测试的成绩,要求快速判断出哪一次的成绩最好(即用时最短)。
选中D2单元格,在公式编辑栏中输入公式:
=\”第\”&MATCH(MIN(B2:B11),B2:B11,0)&\”次\”
按“Enter”键得出结果,如图1所示。
图1
公式解析
①求B2:B11单元格区域中的最小值。
②MATCH函数(用于返回在指定方式下与指定数值匹配的数组中元素的相应位置)返回步骤①返回值在B2:B11单元格区域的第几行中。
实例2 显示不超过限定日期的动态时间
表格中设置了限定日期,下面需要在B2单元格中设置公式来显示一个不超过限定日期的时间。
选中B2单元格,在公式编辑栏中输入公式:
=MIN(A2,TODAY())
按“Enter”键得出一个动态随机日期,如图2所示。
图2
公式解析
=MIN(A2,TODAY())
设置A2单元格中的限定日期为2013年7月18日,然后使用MIN函数将任意随机日期与给定的限定日期相比较,并提取出其中的最小值。
实例3 根据工龄计算可休假的天数
某公司规定:A级别的员工工龄满一年可享受5天的假期,B级员工工龄满一年可享受4天假期,C级员工工龄满一年可享受3天假期,并且每个级别每增加一年工龄即可增加一天的休假天数,最高不得超过10天。
➊ 选中D2单元格,在公式编辑栏中输入公式:
=MIN(SUM((B2={\”A\”,\”B\”,\”C\”})*{5,4,3})+(C2-1),10)
按“Enter”键即可根据第一位员工的级别和工龄得出休假天数。
➋ 将光标移到D2单元格的右下角,光标变成十字形状后,向下复制公式,即可计算出其他员工的可休假天数,如图3所示。
图3
公式解析
①将B2单元格的员工级别与级别常量数组进行比较,可以得到由TURE和FALSE组成的数组,将此数组与可休假天数相乘,则将FALSE转换为0,并将TURE转换为休假天数。得出第一年对应的假期天数后,再将C2中的工作时间减去1得到其余时间的可休假天数。两者相加即为员工的可休假天数。
②利用SUM函数取出天数。
③ 由于规定不能超过10天,利用MIN函数取前面步骤得出的结果与10点之间的最小值。
实例4 忽略0值求出最低分
表格中统计了学生的成绩(成绩中包含0值),要求忽略0值返回最低分数。
选中E2单元格,在公式编辑栏中输入公式:
=MIN(IF(C2:C9<>0,C2:C9))
按“Shift+Ctrl+Enter”组合键得出除0之外的最低分,如图4所示。
图4
公式解析
①筛选出C2:C9单元格区域中大于或者小于0的分数值。
②将步骤①中返回TURE的结果对应在C2:C9单元格区域中的数据集进行求最小值计算。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。