亲们,曾经有一段时间,我被一个看似简单的Excel问题困扰得精神恍惚、夜不能寐。要知道,对我们这些每天和数据打交道的人来说,Excel就是我们的武器,是我们的饭碗,甚至可以说是我们的生命线啊!
那会儿,我负责做一份员工绩效报表,要求是判断6个月的绩效分数,只要每个月都超过60分,就评为"优秀"等级。我一开始毫不犹豫,按部就班地写下了这么一行公式
=IFANDC2>=60,D2>=60,E2>=60,F2>=60,G2>=60,H2>=60,"优秀",""

一看就知道,这可把我玩儿坏了。你想啊,6个条件连着判断,公式就长得没边儿了,简直就是一条锦绣江山通往云端的万里长征路。一不小心哪里稍微出了点差错,修改的时候简直就是人生的重大考验。
当时我就恨不得把电脑一锤子砸了,狠狠地问候一声Excel的爷爷"我靠,这也太坑爹了吧?"就在我prepareto commit suicide的时候,脑海中突然闪过一丝灵感的光芒——我想起了曾经学过的一个MIN函数的妙用!

MIN函数呐,就是从一堆数字里取最小值。我顿时开了窍反正条件都是判断每个月的分数是否大于60,那我何不直接找出这6个月最小的一个分数,再判断这个最小值是否满足条件不就行了?于是,我将原来的公式瞬间改写成
=IFMINC2H2>=60,"优秀",""
瞧瞧,一行公式就搞定了,是不是清爽很多?我当时就觉得自己牛逼哄哄,终于从漫漫长征路上解脱出来,迎接了胜利的阳光。

可没过多久,我就遭了另一重困扰。这次的需求变成了只要有一个月份的绩效达到90分及以上,就评为"优秀"。我开始按老一套考虑用OR函数来连接条件,可是细想下来,那公式又得绕太多弯路,我实在下不了口气。
万幸的是,我灵机一动,又发现了一条新大陆——COUNTIF函数!COUNTIF可以直接统计出指定范围内有多少个单元格满足特定条件,对我这个需求来说,完美咻咻。我立马改写公式为
=IFCOUNTIFC2H2,">=90">=1,"优秀",""

不得不说,上天真是格外眷顾我这个少年得志的小伙子。不仅公式又一次大幅精简,而且以后遇到类似"只要存在某个条件"的情况,我们也不用绕太多远路了。世界是如此美好,我打心眼儿里感谢Excel带给我的乐趣。
可正当我志得意满之际,更恶劣的环境却来临了。这次判断条件变得更加曲折离奇必须同时达到1月60分、2月70分、3月80分,这三个条件缺一不可。按老路子,那可真就是个灾难

=IFANDC2=60,D2=70,E2=80,"优秀",""
我扪心自问,这公式也太不堪重负了吧?要是有更多月份需要判断,或是分数有所更改,那可就相当于给自己找麻烦了。我坚持不能让这种事情再次发生,于是灵机一动,用乘积运算替代了AND函数
=IFC2=60D2=70E2=80,"优秀",""
你没看错,我就是把AND给彻底干掉了。因为在Excel里,只要有一个条件不满足,相乘结果就是0,否则就是1。一举两得不仅公式大幅精简,以后遇到任何"所有条件必须全部满足"的情况,都可以来这么一招,高效而不失准确。

我又为自己的智慧略略自鸣得意了几分钟,可没过多久,新麻烦就来敲门了。这次是老东家提出新需求至少满足60分、70分、80分中的一个,就可以评为"优秀"。
我立马意识到,用OR函数连接条件又要走回头路,那么长的公式根本无法让人接受。于是,我开挂般地秀了一把新操作,将OR函数变向为加法运算
=IFC2=60+D2=70+E2=80>=1,"优秀",""

你看,只要三个条件之和大于等于1,那就说明至少有一个条件满足嘛。作为一个程序员,我怎么可能去写那种低级老派的OR公式呢?
我决定给大家留一个更高级的彩蛋。如果遇到需要大量进行嵌套IF判断的情况,该怎么办?比如说
=IFC2>=60,"差",IFC2>=70,"好",IFC2>=80,"良","优秀"
我打赌绝对没有人愿意这么写。不过,好在我早就发明了VLOOKUP函数的高级用法,一键就能轻松搞定

=VLOOKUPC2,{60,"差";70,"好";80,"良";"优秀"},2,TRUE
你看,这不是高效得让人瞠目结舌吗?
也许你们会说,我花了太多口舌在这些技巧上,其实也没啥高深之理。可你们想啊,正是这些小小的技术优化,才让我们从机器般的重复劳动中解脱出来,从此工作效率高效到让人吃惊的地步。崇尚高效,才是当代人应有的素养,我们更应该追求卓越,用创新的思路去对待生活和工作中的每一个问题。

从今往后,希望大家写公式的时候都能用上我的这些绝招,让工作事半功倍,效率高效到无与伦比。生活还有很长的路要走,我们要学会在平凡的工作中贯注创意,用新思路解决每一个困扰。只要掌握了这份智慧,我们的生活就会从此不再平庸,也会慢慢走向成功的彼岸!