[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]
|
|