Note: The other languages of the website are Google-translated. Back to English

如何在Excel中將IF函數與AND,OR和NOT一起使用?

在Excel中,IF函數對於檢查單元格是否滿足條件並根據評估結果(True和False)返回不同的值非常有用。 並將IF函數與AND,OR,NOT函數結合使用,將改變檢查單元格的條件。 在這裡,我將介紹如何使用IF和AND函數,IF和OR函數以及如何在Excel中組合多個IF函數。

假設我們有一個銷售表,如下面的屏幕截圖所示,現在我們要評估銷售價值並將其分組為“非凡“”“”中間名“和”".
doc if 和 or not 1

現在,將行標題和列標題複製到一個空白區域(在我們的示例中為範圍A16:E28),如以下屏幕截圖所示。
doc if 和 or not 2


如何在Excel中使用IF函數

Excel中IF函數的基本形式如下所示: = IF(邏輯測試,value_if為true,value_if_false)

在我們的情況下,我們要檢查銷售量是否低。 如果單元格B2中的值等於或小於80,則返回文本“低”;如果單元格B2中的值大於80,則返回空白。

輸入公式 = IF(B2 <= 80,“低”,“”) 到單元格B17中,然後將“填充手柄”拖動到範圍B17:E28。 請參閱以下屏幕截圖:
doc if 和 or not 3

輕鬆地將多個工作表/工作簿/ CSV文件組合到一個工作表/工作簿中

將來自不同工作簿的數十張表合併為一張表可能很麻煩。 但是使用Kutools for Excel的 合併(工作表和工作簿) 實用程序,只需單擊幾下就可以完成!


廣告組合床單書1

如何在Excel中使用If函數和AND函數

如果要同時檢查一個單元格是否滿足多個條件,可以在Excel中組合IF函數和AND函數。
Excel中AND函數的基本形式是 = AND(邏輯1,邏輯2,邏輯3,…等)

現在,在我們的案例中,我們要同時檢查一個銷售量是否大於80而小於160,如果是,則返回“中間”文本,如果否,則返回空白。

輸入公式 = IF(AND(B2> 80,B2 <160),“ Middle”,“”) 進入單元格B17,然後將“填充手柄”拖動到範圍B17:E28。 請參閱以下屏幕截圖:


如何在Excel中使用IF函數和OR函數

如果要檢查單元格是否滿足多個條件之一,可以在Excel中組合IF函數和OR函數。

Excel中OR功能的基本形式是 = OR(邏輯1,邏輯2,邏輯3,等等)

在我們的示例中,我們要查找大於180或小於20的非常規銷售量。如果銷售量是非常規的,則返回文本“非常規”,如果沒有返回空白。

輸入公式 = IF(OR(B2> 180,B2 <20),“非凡”,“”) 進入單元格B17,然後將“填充手柄”拖動到範圍B17:E28。 請參閱以下屏幕截圖:


如何在Excel中將多個IF函數合併為一個公式

在我們的示例中,如果要使用一個公式評估所有銷量,則可以應用複雜的IF函數。

如果銷售量等於或小於20,則返回文本“非常規”; 如果銷售量等於或小於80,則返回文本“低”; 如果等於或小於160,則返回文本“中”;如果等於或小於200,則返回文本“高”。

輸入公式 = IF(B2 <= 20,“非凡”,IF(B2 <= 80,“低”,IF(B2 <= 160,“中”,IF(B2 <= 200,“高”,“”)))) ) 進入單元格B17,然後將“填充手柄”拖動到範圍B17:E28。 請參閱以下屏幕截圖:

注意絲帶 公式太難記了嗎? 將公式另存為“自動文本”條目,以供日後再次使用!
閱讀全文...     免費試用

最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (71)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
how do i make this formulas talk to one another: =IF(OR(AND(MID(K2,6,1)="N",(MID(K2,6,1)="C"),(MID(K2,6,1)="H"),(MID(K2,6,1)="I"),(MID(K2,6,1)="B"),(MID(K2,6,1)="F"),(MID(K2,6,1)="L"),(MID(K2,6,1)="M"),(MID(K2,6,1)="P"),(MID(K2,6,1)="R"),(MID(K2,6,1)="P"),ISTEXT(G2)="61"),OR(AND(RIGHT(K2,2)=G2))),"Good","Review") =IF(AND(RIGHT(K2,2)=G2),"Good","Review") or =IF(NOT(OR(AND(MID(K2,6,1)="N",(MID(K2,6,1)="C"),(MID(K2,6,1)="H"),(MID(K2,6,1)="I"),(MID(K2,6,1)="B"),(MID(K2,6,1)="F"),(MID(K2,6,1)="L"),(MID(K2,6,1)="M"),(MID(K2,6,1)="P"),(MID(K2,6,1)="R"),(MID(K2,6,1)="P"),ISTEXT(G2)="61"),(RIGHT(K2,2)=G2))),"Good","Review")
網站主持人對此評論進行了最小化
我有收費計算,例如。 費用金額為 0 則下一列應為 0。如果費用大於 1 且小於 250,則下一列應為 250。如果費用超過 250,則實際費用應在下一列中(252)
網站主持人對此評論進行了最小化
那麼費用 1 呢?

充電 0 = 0
收費超過 1 但 250 = 250
充值超過250=充值實際值

“我有收費計算,例如收費金額為 0,然後下一列應為 0。
如果費用大於 1 且小於 250,則下一列應為 250。如果費用大於 250,則實際費用應在下一列中(252)"


收費
0 0
45 250
250 250
255 255
300 300
0 0
1 錯誤
網站主持人對此評論進行了最小化
如何確定細胞的年齡? 這個公式對嗎 =IF(I2<30,"future payment",AND(IF(I2>30<=45,"30-45days",AND(IF(I2>45<=60,"45-60days", AND(IF(I2>60,"61+天
",0)))))))
網站主持人對此評論進行了最小化
嗨,普拉莫德,
您不能直接在公式中使用 I2>30<=45。 我為您更改了公式: =IF(I2<=30,"FUTURE PAYMENT",IF(B2<=45, "30-45 DAYS", IF(B2<=45, "45-60DAYS", IF( B2<=60, "60+DAYS", ""))))
網站主持人對此評論進行了最小化
我試圖讓公式返回 4 個可能的答案,即(R-regular,A-absent,L-late,OT-overtime)。 我的常規基礎是單元格的值是否為“8”。 所以這是我到目前為止制定的公式 =IF(H16>7.9,"OT",IF(H16<7.9,"L",IF(H16=8,"R","A")))。 它只返回(OT 和 L)一些非常錯誤的東西,我無法弄清楚。 我只是新手,所以請幫助我。
網站主持人對此評論進行了最小化
Try this: =IF(OR(H16=0,H16=""),"A",IF(H16=8,"R",IF(H16<7.9,"L","OT")))
網站主持人對此評論進行了最小化
我試圖讓公式返回 4 個可能的答案,即(R-regular,A-absent,L-late,OT-overtime)。 我的常規基礎是單元格的值是否為“8”。 所以這是我到目前為止制定的公式 =IF(H16>7.9,"OT",IF(H16<7.9,"L",IF(H16=8,"R","A")))。 它只返回(OT 和 L)一些非常錯誤的東西,我無法弄清楚。 我只是新手,所以請幫助我
網站主持人對此評論進行了最小化
高丹
試試這個公式 =IF(H16=8,"R",IF(H16<7.9,"OT","L"))
網站主持人對此評論進行了最小化
我正在嘗試做 IF(OR(A1=1;AND(A2=1;A3=1)))
網站主持人對此評論進行了最小化
嗨米爾科,
感謝您的評論。 你想得到什麼計算結果? 你能告訴我更多關於你的問題嗎?
網站主持人對此評論進行了最小化
=IF(OR((I2=(T2+U2),(I2=(U2+V2)),"Closed","OPEN")
如何做到這一點?
網站主持人對此評論進行了最小化
=IF(OR(I2=T2+U2,I2=U2+V2),"CLOSED","OPEN")
網站主持人對此評論進行了最小化
你好,我有一個非常複雜的公式,我正在嘗試編寫,承認失敗讓我很生氣。 到目前為止,我有:


=IF(AND(B2="Prudential",OR(C2={"10 年期限","15 年期限","20 年期限","30 年期限"})),D2*0.75,(IF( C2="UL",D2*0.8,"0")))


它工作得很好。 但是,我需要再添加大約 37 家具有自己佣金結構的公司。 我很確定我只需要一個帶有一堆嵌套 IF 的怪物 OR 語句,我只是在想辦法準確地找出放置它們的位置。 任何幫助都會很棒。 謝謝!
網站主持人對此評論進行了最小化
高丹
你的問題還不清楚。 您可能會通過為至少 2 家公司提供解決方案來解釋更多。 但是,只是有助於縮短您的 OR 函數。 OR(C2={"10","15","20","30"}&"年度期限")。
網站主持人對此評論進行了最小化
你好! 我目前正在創建一個模板,該模板將根據學員的分數為我提供一個值。


我希望我可以為任何獲得某個測驗的團隊成員添加 5 %


這就是我的想法。


5 = 100%
4= 99.9% 至 90%
3= 90% 至 85%
2= 85% 至 80%
1= <79.99


希望各位大神幫我看看公式
網站主持人對此評論進行了最小化
大家好,我需要為以下內容編寫一個公式:

如果 A1 = "底部" AND A9 <14,則為 14,否則為 A9

OR A1 = "TOPS" AND A9 <5,則為 5,否則為 A9
網站主持人對此評論進行了最小化
嗨,FG,
您無法創建公式來滿足 Excel 中的兩個條件之一。
網站主持人對此評論進行了最小化
嗨,凱利!

我實際上想出了一個解決方法!


=ROUND((IFERROR((IF(OR(AND($I9="BOTTOMS",BL9>=$BY$3),AND($I9="TOPS",BL9>=$BY$4)),BL9,VLOOKUP($I9,$BX$3:$BY$4,2,FALSE))),0)),0)



I9 - 根據輸入的商品代碼填充“BOTTOMS”或“TOPS”
BL9 - 商店指數定義的最小集合
BY9 - 買方定義的最小設置(即底部的 14 個單位和頂部的 5 個單位)
BX$3:$BY$4 - 如果 if 語句為假,則查找買方定義的最小集合
網站主持人對此評論進行了最小化
你好。 我怎樣才能把它寫成公式?

如果年份等於當前年份,則加 1。
如果年份是上一年,則加 1 或開始 1。
如果年份是 2 年前,則加 1 或開始 1。
網站主持人對此評論進行了最小化
我正在嘗試編寫一個公式來查看

1. 這個數字是超過 1000 英鎊還是低於 -1000 英鎊

2. Plus 是下一個單元格超過 55% 或更多



到目前為止,我有 =OR(M4>=1000,M4<=-1000) 超過或低於 1000 英鎊加減,但我不確定如何添加第二個標准假設它是 AND(N2>=55%)但是當我將它添加到公式中時它不起作用。
網站主持人對此評論進行了最小化
嗨米歇爾,
加載屏幕截圖可以幫助我們了解您的問題並且需要更輕鬆!
網站主持人對此評論進行了最小化
我將如何將其寫入一個函數?


如果 D26 和 E26 為空白,則 C26-L7
如果 D26 不是空白而 E26 是空白,則 D26-L7
如果 E26 不是空白,則 E26-L7
網站主持人對此評論進行了最小化
=IF(AND(D26="",E26=""),(C26-L7),IF(AND(D26<>"",E26=""),D26-L7,E26-L7))
網站主持人對此評論進行了最小化
III
II
II
II

II
II
II
II

如何在excel中製作公式 - 如果列的任何一個值為III,則結果應顯示為III,如果列的任何值為II,則如果II和III不存在,則結果應顯示為II顯示為我
網站主持人對此評論進行了最小化
我想知道一件事,我在excel中製作了一個用戶名和密碼表,其中第三部分是狀態我想知道如果我在狀態的第三列中使用多個“if”和“or”中的公式對於列用戶名,我可以同時使用他們的用戶名或電話號碼,然後我輸入密碼,如果用戶名或電話號碼中的任何一個與密碼一起使用,如果有人在用戶名狀態中輸入符號失敗,則它會在狀態登錄列中給出。 如果有人可以回答我,這是用於 excel 中的電子郵件驗證,如果回答了謝謝
網站主持人對此評論進行了最小化
嗨,哈里斯,
您能否發送有關您的問題的屏幕截圖?
網站主持人對此評論進行了最小化
你好,
下面的等式是什麼?

在單元格 K2 中,使用 IF 和 OR 函數以及結構化引用輸入公式,以確定 Adam Moriarty 是否可以成為組長。
一種。 IF 功能應首先確定工作人員的服務年限是否大於 3 或工作人員的大學畢業生身份是否為“是”。 請記住使用對服務年限和大學畢業生列的結構化參考。
灣。 如果工作人員滿足其中一項或兩項標準,則該函數應返回文本 Yes。
C。 如果工作人員不符合這兩個標準,該函數應返回文本 No。
網站主持人對此評論進行了最小化
嗨,傑西斯,
感謝您的評論。 很抱歉,我想不出一個合適的公式來滿足你的條件。 要了解有關 IF 功能的更多信息,我想這個網頁很有幫助。
https://support.office.com/en-us/article/IF-function-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2
網站主持人對此評論進行了最小化
A 列有數值。 C & D 列有文字。

如果 A 列的任何行中的 2 個或多個單獨的數值匹配,則評估 C 列和 D 列中的那些行以查找與給定文本不匹配併計為 1 的任何文本。如果文本匹配,則分配值 0 .


因此,如果..

A1:A2 = 1

A3:A4 = 2

C1=狗
C2=貓
C3=狗
C4:馬


D1=貓
D2=狗
D3=馬
D4=狗


由於 A1 和 A2 相互匹配,因此計算 C1、C2、D1、D2,如果任何單元格與“Dog”或“Cat”都不匹配,則分配值 1。在此示例中,由於所有單元格都包含“Dog”或"Cat" 將分配 0 值。

此外,

由於 A3 和 A4 相互匹配,請評估 C3、C4、D3、D4,如果任何單元格與“狗”或“貓”都不匹配,則分配值 1。在此示例中,由於單元格 C4 和 D3 包含的內容不是“Dog”或“Cat”將被賦值為 1。


預先感謝您!
網站主持人對此評論進行了最小化
嗨駕駛室,
要了解有關 IF 功能的更多信息,我想這個網頁很有幫助。
https://support.office.com/en-us/article/IF-function-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2
網站主持人對此評論進行了最小化
嗨,
我有個問題。 請幫我。

在一行中,具有不同值的 3 列必須在目標單元格中顯示不同的解釋。


=IF(A3>0,"Welcome",IF(B3>0,"Win",IF(C3>0,"Will","HI")))



謝謝皮納基
網站主持人對此評論進行了最小化
嗨皮納基,
在您的公式中,如果 A3 > 0,則 B3 和 C3 也可能大於 0。同樣,當 B3 > 0 時,A3 和 C3 也可能大於 0。

通常在If函數中可以設置=IF(A3>0, "Welcome",””),即A3>0時返回“welcome”,A3不小於0時不返回。 在這個函數中,兩個條件 A3>0 和 A3<=0 是互斥的。

在我的例子中 =IF(B2<=20,"Unordinary",IF(B2<=80, "Low", IF(B2<=160, "Middle", IF(B2<=200, "High", "" )))),第三個條件B3<=160包含第二個條件B2<=80,第二個條件也包含第一個。
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
大家好,


我正在嘗試構建一個 IF 語句來幫助我們計算服務水平。 我們需要一個隊列名稱來具有與所有其他隊列不同的時間要求。 我試圖弄清楚如何讓公式計算所有隊列名稱(B 列),以表明它們在我們的服務水平協議 (SLA) 範圍內,如果它們在隊列中的時間少於 30 秒。 但是,對於名為 TS_DX_CP_ES* 的隊列,如果少於 90 秒,我需要它顯示它在 SLA 內。

我目前有以下公式,它適用於 90 秒規則,但如果我嘗試下一個 IF 公式並更改隊列名稱和時間要求,我會收到錯誤消息。


當前有效的公式 =IF(AND([@[Queue Name]]="TS_DX_CP_ES*",[@[Queue time]]<0.00104166666666667),1,0)

給出#VALUE 的公式! 錯誤 - =IF(AND([@[Queue Name]]="TS_DX_CP_ES*",[@[Queue time]]<0.00104166666666667),1,0),IF(AND([@[Queue Name]]]="TS_PLU_US *",[@[隊列時間]]<0.000358796296296296),1,0)



有什麼建議或幫助嗎?
網站主持人對此評論進行了最小化
大家好,


我正在嘗試構建一個 IF 語句來幫助我們計算服務水平。 我們需要一個隊列名稱來具有與所有其他隊列不同的時間要求。 我試圖弄清楚如何讓公式計算所有隊列名稱(B 列),以表明它們在我們的服務水平協議 (SLA) 範圍內,如果它們在隊列中的時間少於 30 秒。 但是,對於名為 TS_DX_CP_ES* 的隊列,如果少於 90 秒,我需要它顯示它在 SLA 內。

我目前有以下公式,它適用於 90 秒規則,但如果我嘗試下一個 IF 公式並更改隊列名稱和時間要求,我會收到錯誤消息。


當前有效的公式 =IF(AND([@[Queue Name]]="TS_DX_CP_ES*",[@[Queue time]]<0.00104166666666667),1,0)

給出#VALUE 的公式! 錯誤 - =IF(AND([@[Queue Name]]="TS_DX_CP_ES*",[@[Queue time]]<0.00104166666666667),1,0),IF(AND([@[Queue Name]]]="TS_PLU_US *",[@[隊列時間]]<0.000358796296296296),1,0)
查看附件 (1 / 5)
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護