excel判斷條件if公式?
網(wǎng)友解答: 你心目中最早接觸到的Excel函數(shù)是哪一個?很多人的答案一定是下面這個:if函數(shù)。if函數(shù)號稱是“Excel函數(shù)的敲門磚”,只要懂Excel函數(shù)的,就幾乎沒有懂if函數(shù)的???/p>
你心目中最早接觸到的Excel函數(shù)是哪一個?很多人的答案一定是下面這個:if函數(shù)。if函數(shù)號稱是“Excel函數(shù)的敲門磚”,只要懂Excel函數(shù)的,就幾乎沒有懂if函數(shù)的??梢赃@樣說,if函數(shù)在Excel用戶中幾乎能達到100%,為什么這個函數(shù)為什么那么受歡迎呢?原因就在于這個函數(shù)不僅非常簡單、容易理解,而且還非常實用。然而,這個函數(shù)雖然普及程度高,然而卻被大多數(shù)人給輕視了,這也許是他們對于If函數(shù)的實際用法不足導(dǎo)致的。本文將著重介紹if函數(shù)的各種實戰(zhàn)用法,以期能夠提高大家的工作效率。
文:傲看今朝
一、如何理解if函數(shù)?if函數(shù)的寫法如下:
=if(logical_test, value if true,value if false)
中文解釋就是如果滿足條件……,則返回……,否則返回……。大白話就是:
=IF(如果……(條件或者表達式),"則……(條件成立時返回的結(jié)果)","否則……(條件不成立時返回的結(jié)果)")
例如我和你打個賭:
=if(今年的房價均價<明年的房價均價,你給我1000元,我給你1000元)
如果今年的房價均價低于明年的房價均價,則我得1000塊,否則你得1000塊。
大家很容易理解了吧。
下面我們來看一個非常簡單的例子,如果員工每天的工作時長超過8個小時,則給500元補貼,否則就是0元補貼:
例圖
在C9單元格輸入公式:
=if(B9=8,500,0)
復(fù)制此公式至C9:C15單元格即可。
二、最簡單的一個if函數(shù)使用實例如下圖所示,如何快速每個人的成績優(yōu)秀與否?
最簡單的if函數(shù)
這個例子實在是太簡單了,如果分數(shù)(B19:B25)大于等于90分,則返回優(yōu)秀,否則就不顯示。公式如下:
=IF(B19=90,"優(yōu)秀","")
公式中的空直接用""來表示。當(dāng)然這公式還有數(shù)組的寫法哈:
{=IF(B19:B25=90,"優(yōu)秀","")}
意思是一樣的,唯一的不同就在于數(shù)組公式我們要選中C19:C25單元格輸入,然后按下Ctrl+shift+enter組合鍵完成輸入。
三、if函數(shù)中表達式的簡化if函數(shù)的表達式是可以簡寫的。例如下面的例子(表達式簡化)。如下圖所示:
if函數(shù)簡化
每個人只要1科成績大于或者等于90分,就可以顯示為及格,否則什么都不填寫。公式為:
{=IF(MAX(--(B30:F30=90)),"及格","")}
如果max公式的值不等于0(true),則返回“及格”,否則顯示為空。
思路:B30:F30=90會得到一串有true和false構(gòu)成的邏輯值,我們在其前面加2個負號,即可將其轉(zhuǎn)化為1和0組成的數(shù)值,即條件成立時為1,否則為0,只要一科成績滿足條件,那么最大值肯定不等于0,那么就返回及格,否則就是空。
四、利用if函數(shù)快速搞定學(xué)生成績評定關(guān)于這個案例我們曾經(jīng)用過了vlookup函數(shù)、index函數(shù)、lookup函數(shù)、mid函數(shù)等都做過了,今天我么就用咱們最簡單最實用的函數(shù)來搞定。如下圖所示:如何給學(xué)生的成績評定等級呢?
學(xué)生成績等級評定
顯然,只使用1個if函數(shù)是搞不定的。我們需要使用多個if函數(shù)來完成他,具體怎么做呢?先看下面的公式:
=IF(B42=90,"優(yōu)",IF(B42=80,"良",IF(B42=60,"中","差")))
此公式運用了3個if函數(shù),邏輯如下:
如果B42大于等于90,則為“優(yōu)”,否則繼續(xù)對小于90分的分數(shù)進行判斷:如果B42大于等于80,則為“良”,否則還要繼續(xù)對小于80的分數(shù)進行判斷:如果B42大于等于60,則為“中”,否則為“差”。出現(xiàn)了3次如果,因此有3個if函數(shù),必須要有3對括號。
網(wǎng)友解答:許多新手用IF函數(shù)常出現(xiàn)的問題:
問題一:
喜歡寫=IF(b<A1<a,x,y),只能說停留在數(shù)學(xué)思維。數(shù)學(xué)函數(shù)我們可以表示b<x<a,但是EXCEL條件判斷函數(shù)IF不允許這么寫。如果要表示b<x<a,要么用AND函數(shù),條件寫成AND(A1b,A1<a),要么簡寫為(A1b)*(A1<a)。實際上大量使用AND或者OR我們也不推薦,會加大公式長度。
問題二:
條件不是完備的集合,或者說考慮的不夠周到,漏掉許多情況。很多新手不考慮所有可能,實際公式的某些數(shù)據(jù)就不一定是你想要的結(jié)果。例如端點問題,到底你想表達是b<x<a,還是b≤x<a,還是b<x≤a,還是b≤x≤a,需要表述清楚。
就樓主這個題,其實可以簡化公式。首先我們用如下條件:
記x=Z6/BB6,t=BB6
如果x<1,返回"F"(這個是我補充的條件)
如果1≤x<2,y=t+1
如果2≤x<3,y=2t+1
如果3≤x<4,y=3t+1.2
下面遞推一直到10≤x<11,y=10t+1.2
如果x≥11,樓主沒有說明,返回"F"
繼續(xù)簡化公式=IFERROR(IF(OR(Z6<BB6,Z6=11*BB6),"F",IF(Z6<3*BB6,1,1.2))+FLOOR(Z6,BB6),"F")