要求是四個裁判都判通過才能算通過,進入決賽。
(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,重復幾次“不”就很明顯了。
后面再&”通過”,結果就有了。