IF
הפונקציה IF מחזירה אחד משני ערכים, בהתאם לקביעה אם הערך הבוליאני של ביטוי שצוין הוא TRUE או FALSE.
IF(ביטוי-אם, אם-true, אם-false)
ביטוי-אם: ביטוי לוגי. ביטוי-אם יכול להכיל כל דבר כל עוד ניתן לבדוק את הביטוי כערך בוליאני. אם תוצאת הבדיקה של ביטוי היא מספר, 0 ייחשב כ‑FALSE וכל מספר אחר ייחשב כ‑TRUE.
אם-true: הערך במקרה שבו ביטוי-אם הוא TRUE. אם-true יכול להכיל כל ערך. אם הערך אם-true מושמט (הוזן פסיק, אך ללא ערך) וביטוי-אם מדווח כ‑TRUE, הפונקציה IF מחזירה את הערך 0.
אם-false: ארגומנט אופציונלי המגדיר את הערך במקרה שבו ביטוי-אם הוא FALSE. הערך אם-false יכול להכיל כל ערך. אם הערך אם-false מושמט (הוזן פסיק, אך ללא ערך) וביטוי-אם מדווח כ‑FALSE, הפונקציה IF מחזירה את הערך 0. אם אם-false מושמט לחלוטין (לא הוזן פסיק לאחר אם-true) וביטוי-אם יוערך כ‑FALSE, הפונקציה IF מחזירה את הערך FALSE.
הערות
אחד מהארגומנטים אם-true ואם-false או שניהם יכולים לכלול פונקציות IF נוספות (המכונות לעתים קרובות פונקציות IF מקוננות).
שימוש ב‑IF לביצוע השוואות פשוטות |
---|
הטבלה הבאה מציגה דרך פשוטה למעקב אחר ציוני תלמידים. |
A | B | C | D | E | נ | |
---|---|---|---|---|---|---|
1 | תלמיד | תוצאת מבחן 1 | תוצאת מבחן 2 | ציון סופי | הציון באות | תוצאה סופית |
2 | 1 | 56 | 59 | 59 | נ | נכשל |
3 | 2 | 75 | 84 | 84 | B | עבר |
4 | 3 | 100 | 93 | 100 | A | עבר |
ניתן לבצע השוואת IF פשוטה באמצעות נתונים אלה. להלן כמה דרכים לשימוש בפונקציה IF: |
החזרת ערך מלל על בסיס קריטריונים: בנוסחה נמצאים בשימוש הארגומנטים הבאים:
נוסחה זו מקצה תוצאת ״עבר״ אם ציון המבחן של תלמיד 1 הוא 60 ומעלה; אחרת, היא מחזירה ״נכשל״. |
החזרת ערך מספרי על בסיס קריטריונים: בנוסחה נמצאים בשימוש הארגומנטים הבאים:
נוסחה זו מחשבת ציון סופי כגבוה מבין שני ציוני המבחנים, וניתן לשנות אותה בקלות עבור כל תלמיד אחר בטבלה מעל על‑ידי שינוי ההפניות לתאים בהתאם לציונים של כל תלמיד. |
שימוש בפונקציית IF מקננת כדי לבדוק תנאים נוספים: הנוסחה מעל מקצה תוצאת ״עבר״ אם לפחות אחד מציוני המבחנים של התלמיד היה 60 ומעלה. הנוסחה מעל מקצה אות ציון בהתבסס על הציון הסופי של התלמיד. הערה: בפונקציות IF מקננות, סדר ההשוואות חשוב מאחר שהנוסחה נעצרת לאחר הביטוי הראשון שהוא TRUE. לדוגמה, אם רצית להוסיף תנאי חדש לנוסחת הציון המבוטא באות, ״לא השתדל״ אם תלמיד קיבל 0, יהיה עליך להוסיף את התנאי הזה כתנאי הראשון. הוספת התנאי בסוף, מחזיר ״F״ גם אם הציון הוא 0 מאחר שהנתון כבר הוערך כפחות מ‑60. זוהי גם הסיבה שבגינה אין צורך בביטוי if-expression נפרד עבור הציון באות ״A״; אם הציון של תלמיד אינו ״B״, הוא גם לא היה אף אות אחרת ולכן הוא חייב להיות ״A״. |
תורך לנסות |
---|
כדי לראות שימוש בפונקציה IF בגיליון עבודה של Numbers, צור/י גיליון עבודה חדש על בסיס התבנית ״יומן ציונים״. מחק/י שם מהטבלה ״סקירת הכיתה״ וראה/י כיצד זה משנה את הערך בעמודה ״ציון סופי״. סקור/י את הפונקציה שנמצאת בשימוש בעמודה ״ציון סופי״. |
השימוש בפונקציה IF עם פונקציות אחרות |
---|
הנוסחה הבאה עובדת עם ISBLANK כדי לקבוע אם תא הוא ריק. בנוסחה נמצאים בשימוש הארגומנטים הבאים:
עבור בדיקות מורכבות יותר, אפשר לשלב את IF עם AND, OR ו-NOT. |
רמה נוספת של מורכבות עם IFS |
---|
ניתן להשתמש בפונקציה IFS לבדיקת סדרה של ביטויים ולהחזרת ערך על בסיס התנאי הראשון שמחזיר TRUE, במקום להשתמש במשפטי IF מקננים מרובים. |
דוגמאות נוספות |
---|
=IF(A5>=0, ״לא שלילי״, ״שלילי״) תציג את המלל ״לא שלילי״ אם תא A5 מכיל מספר הגדול מ-0 או שווה לו, או ערך שאינו נומרי. אם תא A5 מכיל ערך הקטן מ‑0, הפונקציה תחזיר את הערך ״שלילי״. =IF(A5<>0, "Nonzero", "Zero") תציג את המלל ״לא אפס״ אם תא A5 מכיל מספר שאינו 0. אם תא A5 מכיל את הספרה 0, הפונקציה תחזיר את הערך ״אפס״. הפונקציה =IF(IFERROR(OR(ISEVEN(B4+B5), ISODD(B4+B5)), FALSE), "כל המספרים", "לא כל המספרים") תציג את המלל ״כל המספרים״ אם התאים B4 ו‑B5 מכילים שניהם מספרים. אחרת, יוצג המלל ״לא כל המספרים״. פעולה זו מתבצעת על‑ידי בדיקה אם הסכום של שני התאים הוא זוגי או אי-זוגי. אם לא מוזן מספר בתא, הפונקציות EVEN ו‑ODD מחזירות שגיאה והפונקציה IFERROR מחזירה את הערך FALSE. אחרת, היא מחזירה את הערך TRUE מאחר שאחת מהאפשרויות, EVEN או ODD היא TRUE. כך שאם התוכן בתאים B4 או B5 אינו מספר או ערך בוליאני, פונקציית IF מחזירה את ביטוי אם-false, ״לא כל המספרים״. אחרת, היא מחזירה את ביטוי אם-true, ״כל המספרים״. |
דוגמאות - הימנעות משגיאות הנובעות מחילוק ב-0 |
---|
לעתים לא ניתן לבנות טבלה באופן שימנע חילוק ב-0. עם זאת, אם מתבצע חילוק ב-0, התוצאה תהיה ערך שגיאה בתא, שזו בדרך כלל אינה התוצאה הרצויה. דוגמה זו מציגה שלוש שיטות למניעת שגיאה זו. נניח שהתאים D2 ו‑E2 מכילים כל אחד מספר. יתכן שהתא E2 מכיל 0. ברצונך לחלק את D2 ב‑E2, אך להימנע מחילוק ב-0. כל אחת משלוש השיטות הבאות מחזירה את התוצאה 0 אם התא E2 שווה ל-0; בכל שאר המקרים, כל אחת תחזיר את התוצאה של E2/D2. הפונקציה =IF(E2=0, 0, D2/E2) פועלת על‑ידי בדיקה ישירה של התא E2, כדי לראות אם הוא 0. הפונקציה =IFERROR(D2/E2, 0) פועלת על‑ידי החזרת התוצאה 0 כאשר מתרחשת שגיאה. חילוק ב-0 הוא שגיאה. הפונקציה =IF(ISERROR(D2/E2), 0, D2/E2) פועלת על‑ידי ביצוע בדיקה לוגית כדי לראות אם D2/E2 הוא TRUE. |
דוגמה לשימוש ב‑REGEX |
---|
בהינתן שתוכן התא A1 הוא ״marina@example.com״ =IF(A1 = REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"), "מכיל דוא״ל", "אין דוא״ל") מחזירה ״מכיל דוא״ל״. |