首页 > Excel专区 > Excel函数 >

IF函数惨遭围攻,这些函数都来抢饭碗?

Excel函数 2023-01-13

每日一练里,留了一道题目:

要求是四个裁判都判通过才能算通过,进入决赛。

(f列为模拟的结果)

这个题目的常规思路是用IF函数来实现,如果逻辑是判断四个都通过才算通过,那就要用and来辅助;如果逻辑是判断有一个不通过就不通过,那就用or函数来辅助。

但不管是哪种情况,公式都不短,分享其中的一种解法。

=IF(AND(B2=”通过”,C2=”通过”,D2=”通过”,E2=”通过”),”通过”,”不通过”)

这种逻辑最简单也最直接,今天要和大家分享的是几个不太常规的思路,用意只有一个,利用自己已经能解决的问题,来扩展思路,为学习和灵活使用公式函数创造更多的可能。

COUNTIF篇

前面的思路都是比较逻辑,如果要简化公式,有时候需要把比较逻辑变成数字逻辑,例如四个都通过,也可以理解为该区域中通过的出现次数是4,这时候countif函数就派上用场了。

=IF(COUNTIF(B2:E2,”通过”)=4,”通过”,”不通过”)

这个公式的逻辑也不复杂,只要对countif有基本的了解就可以掌握这种思路。

类似的还有用sum配合数组来实现计数的,公式为:

=IF(SUM(–(B2:E2=”通过”))=4,”通过”,”不通过”)

这个是数组公式,要三键。

虽然公式的样子变了不少,但是逻辑并没有太大的区别。

但是接下来要分享的两个公式,可以说从基本逻辑就完全不同了。

文本函数篇

先来看看公式,估计很多人就蒙圈了。

=TEXT(LEN(PHONETIC(B2:E2))-8,”不通过;;通过;”)

公式里用了三个函数,TEXT、LEN和PHONETIC,是不是有点出乎意料,但要说这个公式的逻辑,也很好理解,就是把B2:E2里的内容连起来,也就是合并,然后判断合并后内容的长度,如果正好是8个字,就通过,超过8个字,就不通过,能想明白这个道理吧。

PHONETIC的作用就是合并,LEN计算长度,然后用算出的长度减8,如果正好相等,结果为0,如果大于8,结果是正数。

根据这个情况利用text的特性来完成最终结果的体现,这公式里最难的应该是text的用法。

如果说这个思路还算新鲜的话,下面这个思路就更清奇了。

这个公式是老师提供的,公式为:

=REPT(“不”,OR(“不通过”=B2:E2))&”通过”

同样是数组公式,需要三键结束。

是不是更蒙了。

要说OR,大家可能都明白,但是REPT可能有些朋友就不太熟悉了。

这个函数本来不难理解,两个参数,意思是按指定的次数重复指定的内容。

例如rept(“a”,5),意思就是重复5次a,结果是aaaaa。

在这个问题中,要重复的是“不”这个字,关键是重复几次,并没有用数字之间指定,而是用了个or。

OR(“不通过”=B2:E2)的意思是,只要有一个不通过,就得到TRUE,反之,只有全部都是通过,才能得到FALSE。(这句话一定要弄清楚)

然后TRUE代表1,FALSE代表0,重复几次“不”就很明显了。

后面再&”通过”,结果就有了。


Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.