这个函数很冷门,会用的都是高手

论坛 期权论坛 期权     
excel大讲堂   2019-7-14 03:51   2938   0



[h1]工作中是否经常遇到如下的情况:[/h1]


每个商品均是由四道工序完成,数字代表时间,现在想计算完成某件产品可能的最短时间?



其实这个案例就是最短路径求解。


遥想当年小编双学位学的运筹学!如果早点掌握Excel,就不用抄作业了!!




公式:
=SUM(DMIN(A1:E6,{2,3,4,5},G1:G2))
暂不解释,咱一步一步来!


案例一:


现在只有一种产品了哦!

问题一:如何获取工序1的最短时间(最小值)



不解释!




案例二:


现在又恢复为两种产品了。

问题二:计算产品1,工序1的最短时间(最小值)
解法一:


公式:

=MIN(IF(A2:A6="产品1",B2:B6,100))

分解一下:
第一步:通过IF函数判断,如果是产品1,获取对应的值,反之赋予一个很大的数(本案例赋值100)
本案例IF函数判断后得到的数组是{34,100,45,21,100}


第二步:用MIN函数实现最小值的提取
感觉第一个解法复杂不?嵌套函数是不是很不喜欢?给你另外个选择:



解法二:




公式:

=DMIN(A1:B6,2,G1:G2)
感觉好简单,只有三个参数就实现了,但是这个函数怎么用呢?

DMIN:
返回选择的数据库条目满足指定条件的最小值
数据库哦!好高大上有没有!
所以我还是喜欢通俗的解释:满足某个条件的最小值


具体怎么用?
=DMIN(某一个数据区域,返回这个区域的第几列,条件是什么)
这个的用法其实很像高级筛选 。
换个问题,如果想知道工序2 的最短用时怎么办?



就是把第一个参数的数据区域变大,然后返回的是第三列,最后条件列表还是一样的。


问题三:如何获取产品1的全流程最短耗时?



公式:
=SUM(DMIN(A1:E6,{2,3,4,5},G1:G2))
分解:
实现方式还是依托于DMIN函数,不过本案例需要知道四个公式的最小值加和。
所以把DMIN(A1:E6,{2,3,4,5},G1:G2)分解后,其实他等于
DMIN(A1:E6,2,G1:G2)
DMIN(A1:E6,3,G1:G2)
DMIN(A1:E6,4,G1:G2)
DMIN(A1:E6,5,G1:G2)
这个逗号不是随便写的哦
所以DMIN(A1:E6,{2,3,4,5},G1:G2)计算后的数据就是{21,14,23,23}
然后用Sum函数把所有数据加在一起:
SUM({21,14,23,23})=81
如果有人问我,可不可以用IF加MIN函数实现本要求呢?

我只能说:


再写一次用法:
=DMIN(某一个数据区域,返回这个区域的第几列,条件是什么)
最后还有再啰嗦一句DMIN函数最后一个参数,条件是非常灵活的。



简单说:条件是或关系的就上下排列,如果是且关系就左右排列!


来源:Excel之家ExcelHome,作者:阿忠凯


精彩内容回顾
这个员工考勤表,怎么做的如此漂亮?

不要再用数据透视表了!再忙都要看

让同事看傻,10秒生成Excel新报表 !

[h1]人员、考勤、工资、合同,Excel统统搞定[/h1]



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:150
帖子:30
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP