在實際工作中,往往會遇到根據判斷條件,返回指定值的需求。相信你肯定知道IF函數可以實現這個功能。但是如果是面對,多層判斷,該如何解決呢?首先我們先來看下if的函數用法。
=IF(logical_test,value_if_true,value_if_false),logical_test表示判斷語句;value_if_true表示當判斷語句為True時,該公式的返回值;value_if_false表示當判斷語句為False時,該公式的返回值。
如:=if(1=2,a,b),這個公式,判斷語句是1=2,該語句是不成立的,所以該語句為False,因此該公式的返回值為b。
來一個複雜案例:成績等級要根據學生的成績,在級别一列寫上公式自動填充。
答案:在D3單元格中輸入公式=IF(C3<60,"不及格",IF(C3<80,"良好","優秀")),然後按住右下角十字下拉即可自動計算該列。
以王二的級别計算為例:
=IF(C5<60,"不及格",IF(C5<80,"良好","優秀")),這個公式的計算步驟: 先進行最外層if的判斷語句計算,C5的值為91,顯然C5<60這個語句是不成立的,所以進入到IF(C5<80,"良好","優秀")語句的計算。 C5<80這個語句也是不成立的,因此獲取的值為“優秀“。
思考各位可以思考一下,不及格的條件為“分值介于0和60之間”,良好的條件為“分值介于60和80之間”,優秀的條件為“分值大于80”。但為什麼我們在寫判斷語句的時候,卻僅僅簡單寫了C5<60和C5<80?
這裡就要注意一點,我們在文字描述不及格、良好和優秀的時候,是獨立語句描述,需要準确的描述出每個等級的嚴格判斷條件。而當我們寫公式的時候,實際上對應到運算時,是一個邏輯判斷過程。
流程圖如下:
第一步判斷C5<60為False,進入到第二步判斷C5<80時,就已經隻有兩種可能
- C5>80,
- 60<C5<80。
因此,良好的條件中大于60這個要求在計算流程中,已經被包含了。
通過對公式的計算過程的深入思考,對理解公式的運算方式、建立準确的邏輯思維有很大的幫助。
怎麼樣,是不是對if語句的嵌套寫法有了新的理解?
如果你有想實現的需求或者希望我深入介紹的公式,請你給我留言。
如果感覺這篇文章給你帶來了收獲,請關注我吧!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!