我一向很乐意帮别人解决office问题:一是我真心帮助别人(其实是想听别人夸赞我好厉害???);二是遇到新问题时,也可以学习新知识,积累经验。当时在和朋友聚会,第一反应就是用large,如何算出内存数组才是关键。我想了半天,index, vlookup等都需要用到辅助列,请教一位高手,高手用了两种方法:自定义函数mlookup和5个函数嵌套:不过,我想还有什么更简单的方法呢?对函数免疫的人看到一串函数应该是一脸茫然的。晚上回家路上,姑娘回我,说用我在课上讲过的if就可以构建一个内存数组:{=large(if(B2:B9="机长")*(C2:C9="A"),D2:D9,0),3)}
我们用“公式”——“公式审核”——“公式求值”来看看if是怎么创建满足条件的内存数组的:首先,在工种区域B2:B9中找出等于“机长”的单元格,满足条件则返回“TRUE”,否则就是“FASLE”同理,查找出级别区域C2:C9中等于“A"的单元格,满足条件则返回“TRUE”,否则就是“FASLE”:TRUE乘以TRUE等于TRUE, TRUE=1, 即:TRUE和FALSE相乘等于FASLE, FALSE=0,即:得出内存数组:{188;0;154;126;0;108;0;0}用了发散性思维用最简单的方法解决了问题,避免了复杂化!??????貌似我有这样的趋势:学了越多函数,就把最简单实用地抛之脑后,想要用更高深的函数,好能显示出自己懂很多一样——???small用法:返回一组数据中排名倒数第N最小值:{=small(if(B2:B9="机长")*(C2:C9="A"),D2:D9,0),2)}原来是有4个0值,怪不得,所以,我修改了一下公式:将0换成了返回空值""
{=small(if(B2:B9="机长")*(C2:C9="A"),D2:D9,""),2)}
本文来自投稿,不代表本站立场,如若转载,请注明出处: