Menu

פונקציית IF באקסל: נוסחה, דוגמאות וטעויות נפוצות

=IF(B2>=50,"Pass","Fail") בודקת אם B2 הוא 50 או יותר ומחזירה Pass אם כן ו-Fail אם לא. למדו את התחביר של IF, את IF עם טקסט, IF עם חישוב, IF לתא ריק, ואת הטעויות שגורמות ל-IF להחזיר תוצאה שגויה.

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

=IF(B2>=50,"Pass","Fail") בודקת אם הציון ב-B2 הוא 50 או יותר. אם כן, התא מציג Pass; אם לא, הוא מציג Fail.

עבר או נכשל
C2
ABC
1StudentScoreResult
2Ana72Pass
3Ben45Fail
4Chloe50Pass
5Dan38Fail
6Eve91Pass
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

לחצו על C2 כדי לראות את הנוסחה, ואז שנו את הציון של Ben ב-B3 ל-60: התוצאה שלו הופכת ל-Pass. ל-Chloe יש בדיוק 50, ו->= פירושו "50 או יותר", ולכן היא עוברת. עם > היא הייתה נכשלת.

התחביר של IF

=IF(logical_test, value_if_true, value_if_false)
  • logical_test הוא כל השוואה או נוסחה שנותנת TRUE או FALSE: B2>=50, C2="Paid", D2<TODAY().
  • value_if_true הוא מה שהתא מציג כשהבדיקה היא TRUE.
  • value_if_false הוא מה שהוא מציג אחרת. הוא אופציונלי: השמיטו אותו והתא יציג FALSE כשהבדיקה נכשלת. השאירו את הפסיק אבל את הארגומנט ריק, =IF(B2>=50,"Pass",), והוא יציג 0.

כל תוצאה יכולה להיות טקסט במירכאות כפולות ("Pass"), מספר (0), הפניה לתא (C2) או נוסחה אחרת. טקסט בלי מירכאות נקרא כשם, ולכן =IF(B2>=50,Pass,Fail) נותנת #NAME?.

אופרטורי ההשוואה הם = (שווה), <> (שונה), >, <, >= ו-<=. באקסל שמוגדר לשפה שמשתמשת בפסיק עשרוני, הארגומנטים מופרדים בנקודה פסיק: =IF(B2>=50;"Pass";"Fail"). ב-Google Sheets יש את אותה IF עם אותם ארגומנטים.

IF עם טקסט

בדיקה יכולה להשוות תא לטקסט. הטקסט נכתב במירכאות כפולות, וההשוואה מתעלמת מאותיות גדולות וקטנות.

משלוח חינם לאזור North
C2
ABCD
1OrderRegionFree deliveryExact case
21001NorthYesYes
31002SouthNoNo
41003northYesNo
51004EastNoNo
61005NORTHYesNo
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

עמודה C אומרת Yes עבור North, north ו-NORTH, כי ל-= לא אכפת מגודל האותיות. כשגודל האותיות חשוב (קודי מוצר, סיסמאות), בדקו במקום זאת עם EXACT, כמו בעמודה D: רק השורה שבה כתוב בדיוק North מקבלת Yes.

כדי לבדוק כל דבר חוץ מערך מסוים, השתמשו ב-<>: =IF(B2<>"North","Standard","Free"). כדי לבדוק אם תא מכיל מילה איפשהו בתוכו, IF צריכה את SEARCH, שמוסברת בעמוד של פונקציות IS.

IF עם חישוב

התוצאות של IF לא חייבות להיות טקסט. כאן כל נציג מקבל בונוס של 5% על מכירות מעל 1,000, ושום דבר מתחת לזה:

בונוס מעל 1,000
C2
ABC
1RepSalesBonus
2Ana$1,400$70
3Ben$800$0
4Chloe$1,000$0
5Dan$2,600$130
6Eve$1,150$58
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

Ana מקבלת $70 (5% מ-1,400) ו-Ben מקבל $0. Chloe מכרה בדיוק 1,000, והבדיקה היא "גדול מ-1,000", ולכן גם היא מקבלת $0. שנו את הנוסחה ב-C2 ל-=IF(B2>=1000,B2*5%,0) והבונוס שלה הופך ל-$50.

הבדיקה יכולה גם להשוות שני תאים, =IF(B2>C2,"Over target","Under target"), או תא לחישוב, =IF(B2>AVERAGE($B$2:$B$6),"Above average","").

IF לתא ריק

B2="" היא TRUE כש-B2 ריק. השתמשו בה כדי לדלג על שורות שעוד אין בהן נתונים, כך שעמודת הנוסחאות לא תתמלא באפסים:

דילוג על שורות בלי כמות
D2
ABCDE
1ItemQtyPriceTotalStatus
2Pens10$1.50$15.00Ordered
3Paper$4.20Not ordered
4Ink2$18.00$36.00Ordered
5Tape$2.80Not ordered
6Clips5$0.90$4.50Ordered
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

"" (שתי מירכאות כפולות בלי כלום ביניהן) הוא טקסט ריק, ולכן Paper ו-Tape לא מציגים כלום בעמודה D. הקלידו כמות ב-B3 והסכום מופיע. עמודה E בודקת את ההפך עם <>"", "אינו ריק".

תא שמכיל ="" נראה ריק אבל אינו ריק בעיני ISBLANK. ההבדל חשוב כשנוסחאות אחרות קוראות את העמודה, למשל COUNTA סופרת אותו.

IF עם שני תנאים

IF מקבלת בדיקה אחת. כדי לדרוש שני דברים בבת אחת, שימו AND בתוך הבדיקה; כדי לקבל אחד משניים, השתמשו ב-OR:

=IF(AND(B2>=50,C2>=50),"Pass","Fail")
=IF(OR(B2="North",B2="South"),"Zone 1","Zone 2")

שתיהן מוסברות עם דוגמאות חיות בעמוד של AND ו-OR. לשלוש תוצאות אפשריות או יותר (A, B, C, F), קננו IF אחת בתוך אחרת (IF מקונן) או השתמשו ב-IFS.

תרגול: להזמין מחדש או לא

בדיקת הזמנה מחדש
D2
ABCD
1ItemStockMinimumStatus
2Pens1220
3Paper3025
4Tape1512
5Ink810
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

תורכם: ב-D2, הציגו "Reorder" כשהמלאי ב-B2 נמוך מהמינימום ב-C2, ואחרת הציגו "OK". הנוסחה מועתקת למטה עד D5.

בונוס של 10%
C2
ABC
1RepSalesBonus
2Ana$1,250
3Ben$600
4Chloe$2,300
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

תורכם: ב-C2, החזירו בונוס של 10% מהמכירות ב-B2 כשהמכירות מעל 1000, ואחרת 0. הנוסחה מועתקת למטה עד C4.

טעויות נפוצות ב-IF

מירכאות סביב מספר. =IF(B2>"50","High","Low") משווה את B2 לטקסט "50", לא למספר 50. אקסל מדרג כל מספר מתחת לכל טקסט, ולכן הבדיקה היא FALSE לכל מספר ב-B2 והנוסחה תמיד אומרת Low. כתבו מספרים בלי מירכאות: B2>50.

שימוש ב-==. בדיקת השוויון של אקסל היא = יחיד. הקלדה של =IF(B2=="Paid","Yes","No") גורמת לאקסל לסרב לנוסחה עם ההודעה "There's a problem with this formula" (יש בעיה בנוסחה הזו).

מספרים שמאוחסנים כטקסט. אם ב-B2 יש '12 (טקסט שנראה כמו מספר, לרוב מייבוא), B2>=50 משווה טקסט למספר. טקסט תמיד נחשב גדול יותר, ולכן הבדיקה היא TRUE ו-12 עובר. המירו קודם את העמודה; העמוד על טקסט למספר מראה איך.

ציפייה ל-TRUE כטקסט. =IF(B2>=50,"TRUE","FALSE") מחזירה את המילים כטקסט, שנוסחאות אחרות לא יכולות להשתמש בו כערכים לוגיים. אם אתם רוצים TRUE ו-FALSE, אתם לא צריכים IF בכלל: =B2>=50 מחזירה אותם ישירות.

סוגריים סוגרים חסרים. כל IF פותחת סוגר אחד וצריכה ) משלה. בזמן העריכה, אקסל מציג כל זוג סוגריים בצבע משלו, וזה מקל לזהות סוגר חסר.

שאלות נפוצות

איך כותבים נוסחת אם אז (IF) באקסל?

כתבו =IF(test, value_if_true, value_if_false). למשל =IF(B2>=50,"Pass","Fail") מציגה Pass כש-B2 הוא 50 או יותר ו-Fail אחרת. תוצאות טקסט נכתבות במירכאות כפולות, מספרים והפניות לתאים לא.

למה נוסחת ה-IF שלי מחזירה FALSE?

השמטתם את הארגומנט השלישי. =IF(B2>=50,"Pass") מחזירה FALSE כשהבדיקה נכשלת. הוסיפו ערך למקרה הזה, למשל "" כדי להציג תא ריק: =IF(B2>=50,"Pass","").

האם פונקציית IF רגישה לאותיות גדולות וקטנות?

לא. =IF(B2="North","Yes","No") מחזירה Yes עבור North, north ו-NORTH. כדי להתאים בדיוק לגודל האותיות, השתמשו ב-EXACT כבדיקה: =IF(EXACT(B2,"North"),"Yes","No").

איך גורמים ל-IF להשאיר תא ריק?

החזירו מחרוזת טקסט ריקה, שתי מירכאות כפולות: =IF(B2="","",B2*C2) לא מציגה כלום כש-B2 ריק ואת המכפלה אחרת. בתא עדיין יש נוסחה, ולכן ISBLANK עליו מחזירה FALSE.

האם IF יכולה לבדוק יותר מתנאי אחד?

כן. שימו AND או OR בתוך הבדיקה, =IF(AND(B2>=50,C2>=50),"Pass","Fail"), או קננו IF אחת בתוך אחרת ליותר משתי תוצאות. ב-Excel 2019 ואילך, IFS מטפלת בכמה תוצאות בלי קינון.

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

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

להתחיל