=IF(B2>=50,"Pass","Fail") בודקת אם הציון ב-B2 הוא 50 או יותר. אם כן, התא מציג Pass; אם לא, הוא מציג Fail.
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Result |
| 2 | Ana | 72 | Pass |
| 3 | Ben | 45 | Fail |
| 4 | Chloe | 50 | Pass |
| 5 | Dan | 38 | Fail |
| 6 | Eve | 91 | Pass |
לחצו על 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 עם טקסט
בדיקה יכולה להשוות תא לטקסט. הטקסט נכתב במירכאות כפולות, וההשוואה מתעלמת מאותיות גדולות וקטנות.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Free delivery | Exact case |
| 2 | 1001 | North | Yes | Yes |
| 3 | 1002 | South | No | No |
| 4 | 1003 | north | Yes | No |
| 5 | 1004 | East | No | No |
| 6 | 1005 | NORTH | Yes | No |
עמודה C אומרת Yes עבור North, north ו-NORTH, כי ל-= לא אכפת מגודל האותיות. כשגודל האותיות חשוב (קודי מוצר, סיסמאות), בדקו במקום זאת עם EXACT, כמו בעמודה D: רק השורה שבה כתוב בדיוק North מקבלת Yes.
כדי לבדוק כל דבר חוץ מערך מסוים, השתמשו ב-<>: =IF(B2<>"North","Standard","Free"). כדי לבדוק אם תא מכיל מילה איפשהו בתוכו, IF צריכה את SEARCH, שמוסברת בעמוד של פונקציות IS.
IF עם חישוב
התוצאות של IF לא חייבות להיות טקסט. כאן כל נציג מקבל בונוס של 5% על מכירות מעל 1,000, ושום דבר מתחת לזה:
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,400 | $70 |
| 3 | Ben | $800 | $0 |
| 4 | Chloe | $1,000 | $0 |
| 5 | Dan | $2,600 | $130 |
| 6 | Eve | $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 ריק. השתמשו בה כדי לדלג על שורות שעוד אין בהן נתונים, כך שעמודת הנוסחאות לא תתמלא באפסים:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Item | Qty | Price | Total | Status |
| 2 | Pens | 10 | $1.50 | $15.00 | Ordered |
| 3 | Paper | $4.20 | Not ordered | ||
| 4 | Ink | 2 | $18.00 | $36.00 | Ordered |
| 5 | Tape | $2.80 | Not ordered | ||
| 6 | Clips | 5 | $0.90 | $4.50 | Ordered |
"" (שתי מירכאות כפולות בלי כלום ביניהן) הוא טקסט ריק, ולכן 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.
תרגול: להזמין מחדש או לא
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Stock | Minimum | Status |
| 2 | Pens | 12 | 20 | |
| 3 | Paper | 30 | 25 | |
| 4 | Tape | 15 | 12 | |
| 5 | Ink | 8 | 10 |
תורכם: ב-D2, הציגו "Reorder" כשהמלאי ב-B2 נמוך מהמינימום ב-C2, ואחרת הציגו "OK". הנוסחה מועתקת למטה עד D5.
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,250 | |
| 3 | Ben | $600 | |
| 4 | Chloe | $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 מטפלת בכמה תוצאות בלי קינון.