Menu

AND, OR ו-NOT באקסל יחד עם IF: דוגמאות

=AND(B2>=10,B2<=20) מחזירה TRUE רק כשכל התנאים מתקיימים, ו-=OR(B2="North",B2="South") מחזירה TRUE כשלפחות אחד מתקיים. למדו את AND, OR, NOT ו-XOR לבד ובתוך IF, איך בודקים אם מספר נמצא בין שני ערכים, ואיך כותבים AND ו-OR בנוסחאות מערך.

כל גיליון בעמוד הזה חי: שנו מספר או נוסחה והוא יחושב מחדש.

=AND(B2>=50,C2>=50) מחזירה TRUE רק כששני התנאים מתקיימים. =OR(B2>=50,C2>=50) מחזירה TRUE כשלפחות אחד מהם מתקיים. בתוך IF הן הופכות שני תנאים לבדיקה אחת: =IF(AND(B2>=50,C2>=50),"Pass","Fail").

עבר את שני החלקים, או אחד מהם
D2
ABCDE
1StudentExamProjectBoth 50+Either 50+
2Ana7264PassPass
3Ben4580FailPass
4Chloe5851PassPass
5Dan3842FailFail
6Eve9147FailPass
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

Ben ו-Eve עוברים חלק אחד ונכשלים בשני, ולכן הם נכשלים בעמודה D (AND) ועוברים בעמודה E (OR). Dan נכשל בשניהם ונכשל בשתי העמודות. שנו את המבחן של Ben ב-B3 ל-55 והוא עובר גם ב-D.

פונקציית AND

=AND(logical1, [logical2], ...)

AND מקבלת עד 255 תנאים ומחזירה TRUE רק אם כל אחד מהם הוא TRUE. FALSE אחד מספיק כדי שהתוצאה תהיה FALSE. לבדה, AND מציגה בתא TRUE או FALSE; בתוך IF היא מחליטה איזו תוצאה IF מחזירה.

בדיקה אם מספר נמצא בין שני ערכים

באקסל אין פונקציית BETWEEN. השתמשו ב-AND עם גבול תחתון וגבול עליון:

האם הטמפרטורה בטווח?
C2
ABCD
1SampleTempBetween 10 and 20Status
2S114TRUEOK
3S222FALSECheck
4S310TRUEOK
5S47FALSECheck
6S520TRUEOK
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

S3 ו-S5 נמצאים בדיוק על הגבולות ונחשבים בטווח, כי הבדיקות משתמשות ב->= וב-<=. כדי להוציא את הגבולות, השתמשו ב-> וב-<. שמירת הגבולות בתאים, =AND(B2>=$F$1,B2<=$F$2), מאפשרת לשנות את הטווח בלי לערוך את הנוסחה. בדיקה כמו 10<=B2<=20 לא עובדת באקסל: היא משווה את 10<=B2 (TRUE או FALSE) ל-20, ואקסל מדרג את TRUE ו-FALSE מעל כל מספר, ולכן התוצאה תמיד FALSE.

פונקציית OR

=OR(logical1, [logical2], ...)

OR מחזירה TRUE אם לפחות תנאי אחד הוא TRUE, ו-FALSE רק כשכולם FALSE. זו הדרך הרגילה לקבל כמה ערכי טקסט:

אזור משלוח לפי Region
C2
ABC
1OrderRegionZone
21001NorthZone 1
31002EastZone 2
41003SouthZone 1
51004WestZone 2
61005southZone 1
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

השוואות טקסט מתעלמות מגודל האותיות, ולכן גם south באותיות קטנות נכנס ל-Zone 1. לרשימה ארוכה של ערכים מותרים, =OR(B2={"North","South","Central"}) משווה את B2 לכל פריט בקבוע המערך בבת אחת.

NOT ו-XOR

NOT הופכת ערך לוגי: =NOT(TRUE) היא FALSE. היא נקראת טוב כשהתנאי שיש לכם הוא ההפך מזה שאתם רוצים: =IF(NOT(C2="Done"),"Follow up","") זהה ל-=IF(C2<>"Done","Follow up","").

XOR, שזמינה מאז Excel 2013, היא "או" בלעדי: עם שני תנאים היא TRUE כשבדיוק אחד מהם TRUE, ו-FALSE כששניהם TRUE או ששניהם FALSE. עם יותר תנאים, היא TRUE כשמספר אי־זוגי מהם TRUE.

NOT ו-XOR
D2
ABCDE
1TaskOwnerStatusOpenOne check only
2ReportAnaDoneFALSEFALSE
3BudgetBenOpenTRUEFALSE
4SlidesAnaOpenTRUETRUE
5SurveyBenDoneFALSETRUE
6PlanAnaDoneFALSEFALSE
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

עמודה E היא TRUE עבור Slides (של Ana אבל לא Done) ועבור Survey (Done אבל לא של Ana), ו-FALSE כשמתקיימים שניהם או אף אחד.

AND ו-OR יחד

אפשר לקנן תנאים: AND בתוך OR או OR בתוך AND. נציג מקבל בונוס כשהוא באזור North וגם מכר יותר מ-1,000 או החתים לקוח חדש:

כלל הבונוס
E2
ABCDE
1RepRegionSalesNew clientBonus
2AnaNorth1200NoBonus
3BenNorth700YesBonus
4ChloeSouth1500Yes
5DanNorth900No
6EveNorth1100YesBonus
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

Ana (מכירות), Ben (לקוח חדש) ו-Eve (שניהם) מקבלים את הבונוס. Chloe עומדת בחלק של OR אבל נמצאת ב-South, ו-Dan נמצא ב-North אבל לא עומד באף אחד מתנאי ה-OR.

תרגול: משלוח חינם

משלוח חינם
D2
ABCD
1OrderTotalMemberShipping
2100135Yes
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

תורכם: ב-D2, הציגו "Free" כשסכום ההזמנה ב-B2 הוא לפחות 50 או שהלקוח חבר מועדון (C2 הוא "Yes"), ואחרת הציגו "Paid".

AND ו-OR בנוסחאות מערך: השתמשו ב-* וב-+

AND ו-OR מצמצמות את כל מה שהן מקבלות ל-TRUE או FALSE אחד. זה מה שרוצים בשורה בודדת, אבל לא כשנוסחה עובדת על עמודה שלמה בבת אחת: =AND(B2:B6="North",C2:C6>100) מחזירה ערך אחד לחמש השורות יחד. בנוסחאות מערך (FILTER, SUMPRODUCT, SUM על תנאי) כתבו את התנאים בסוגריים והכפילו אותם במקום AND, חברו אותם במקום OR. TRUE נחשב 1 ו-FALSE נחשב 0, ולכן מכפלה היא 1 רק כששניהם מתקיימים, וסכום הוא לפחות 1 כשאחד מהם מתקיים.

ספירה עם * ו-+
F2
ABCDEF
1RepRegionSalesCount
2AnaNorth1200North and over 1,0002
3BenSouth700North or over 1,0004
4ChloeNorth900
5DanSouth1500
6EveNorth1100
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

F2 סופר 2 שורות (Ana ו-Eve), F3 סופר 4 (כולם חוץ מ-Ben). ב-F3 ה->0 חשוב: שורה שעומדת בשני התנאים מסתכמת ב-2, וההשוואה הופכת כל סכום מעל 0 ל-TRUE אחד. אותה תבנית מסננת שורות, =FILTER(A2:C6,(B2:B6="North")*(C2:C6>1000)); לספירה פשוטה עם לוגיקת AND, COUNTIFS עושה זאת בלי מערכים: =COUNTIFS(B2:B6,"North",C2:C6,">1000"), ראו את העמוד של COUNTIFS.

שאלות נפוצות

איך משתמשים ב-IF עם AND באקסל?

שימו את AND בבדיקה של IF: =IF(AND(B2>=50,C2>=50),"Pass","Fail"). התוצאה היא Pass רק כששני התאים B2 ו-C2 הם 50 או יותר.

איך בודקים אם מספר נמצא בין שני ערכים באקסל?

השתמשו ב-AND עם שתי השוואות: =AND(B2>=10,B2<=20) מחזירה TRUE לכל ערך מ-10 עד 20, כולל שניהם. בתוך IF: =IF(AND(B2>=10,B2<=20),"In range","Out of range").

מה ההבדל בין AND ל-OR באקסל?

AND מחזירה TRUE רק כשכל התנאים הם TRUE. OR מחזירה TRUE כשלפחות תנאי אחד הוא TRUE. =AND(TRUE,FALSE) היא FALSE ו-=OR(TRUE,FALSE) היא TRUE.

למה AND לא עובדת בנוסחת FILTER או SUMPRODUCT שלי?

AND ו-OR מצמצמות טווח שלם ל-TRUE או FALSE אחד במקום אחד לכל שורה. בנוסחאות מערך הכפילו את התנאים במקום AND, (B2:B6="North")*(C2:C6>100), וחברו אותם במקום OR.

אפשר להשתמש ב-AND וב-OR באותה נוסחה?

כן, קננו אחת בתוך השנייה: =IF(AND(B2="North",OR(C2>1000,D2="Yes")),"Bonus","") דורשת North ובנוסף מכירות מעל 1000 או Yes ב-D2.

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל