הפונקציה IIf

הפונקציה מחזירה אחד משני חלקים, בהתאם להערכת ה ביטוי.

באפשרותך להשתמש ב- IIf בכל מקום שבו באפשרותך להשתמש בביטויים. אתה משתמש ב- IIf כדי לקבוע אם ביטוי אחר הוא true או false. אם הביטוי הוא true, הפונקציה IIf מחזירה ערך אחד; אם הוא false, הפונקציה IIf מחזירה אחרת. עליך לציין את הערכים IIf מחזיר.

ראה כמה דוגמאות

תחביר

IIf ( expr , truepart , falsepart )

תחביר הפונקציה IIf מכיל את הארגומנטים הבאים:

ארגומנט

תיאור

expr

נדרש. ביטוי שברצונך להעריך.

truepart

נדרש. הערך או הביטוי יוחזרו אם expr הוא True.

falsepart

נדרש. הערך או הביטוי יוחזרו אם expr הוא False.


הערות

IIf מעריך תמיד גם את truepart וגם את falsepart, למרות שהוא מחזיר רק אחד מהם. בשל כך, עליך לצפות בתופעות לוואי לא רצויות. לדוגמה, אם הערכת התוצאות של falsepart מתבצעת בשגיאת חילוק לפי אפס, מתרחשת שגיאה גם אם expr הוא True.

דוגמאות

שימוש ב-IIf בטופס או בדוח    נניח שיש לך טבלת לקוחות המכילה שדה בשם CountryRegion. בטופס, ברצונך לציין אם השפה האיטלקית היא השפה הראשונה של איש הקשר. באפשרותך להוסיף פקד ולהשתמש ב- IIf במאפיין מקור פקד שלו, כגון:

= IIf ([CountryRegion] = "איטליה", "איטלקית", "איזושהי שפה אחרת")

בעת פתיחת הטופס בתצוגת טופס, הפקד מציג "איטלקית" בכל פעם שהערך עבור CountryRegion הוא איטליה והמילה "שפה אחרת" כאשר CountryRegion הוא ערך אחר.

שימוש ב-IIf בביטויים מורכבים    באפשרותך להשתמש בכל ביטוי כחלק כלשהו של משפט IIf . באפשרותך גם לבצע "קינון" IIf ביטויים, המאפשר לך להעריך סידרה של ביטויים תלויים. כדי להמשיך בדוגמה הקודמת, ייתכן שתרצה לבדוק כמה ערכים שונים של CountryRegion ולאחר מכן להציג את השפה המתאימה בהתאם לערך הקיים:

= IIf ([CountryRegion] = "איטליה", "איטלקית", IIf ([CountryRegion] = "France", "צרפתית", IIf ([CountryRegion] = "Germany", "", "בשפה אחרת"))

הטקסט "חלק משפה אחרת" הוא הארגומנט falsepart של הפונקציה IIf הפנימית ביותר. מאחר שכל פונקציית iif מקוננת היא הארגומנט falsepart של הפונקציה IIf המכילה אותה, הטקסט "חלק מהשפה האחרת" יוחזר רק אם כל הארגומנטים של expr של כל פונקציות IIf מוערכים כ-False.

לדוגמה נוספת, נניח שאתה עובד בספריה. מסד הנתונים של הספריה כולל טבלה בשם ' הוצאה לאור ' המכילה שדה שנקרא ' תאריך יעד ', המכיל את התאריך שבו ספר מסוים אמור לחזור. באפשרותך ליצור טופס המציין את המצב של פריט שהוצא בפקד באמצעות הפונקציה IIf במאפיין מקור פקד של פקד זה, כך:

= IIf ([Date Due] <Date (), "איחור", IIf ([תאריך יעד] = Date (), "Due today", "טרם Due")

בעת פתיחת הטופס בתצוגת טופס, הפקד מציג את ההודעה "איחור" אם הערך של תאריך יעד קטן מהתאריך הנוכחי, "Due today" אם הוא שווה לתאריך הנוכחי, ולאחר מכן "לא הגיע ליעד".

הערה: כדי להשתמש באופרטורים לוגיים כגון "And" או "או" בארגומנט expr של הפונקציה IIf , עליך לתחום את הביטוי הלוגי בפונקציה Eval . עיין בטבלה דוגמה הבאה.

שימוש ב-IIf בשאילתה    

הפונקציה IIf משמשת לעתים קרובות ליצירת שדות מחושבים בשאילתות. התחביר זהה, עם החריגה שבשאילתה, עליך להקדים את הביטוי באמצעות כינוי שדה ונקודתיים (:) במקום סימן שוויון (=). כדי להשתמש בדוגמה הקודמת, עליך להקליד את הפרטים הבאים בשורת השדה של רשת עיצוב השאילתה:

Language: IIf ([CountryRegion] = "איטליה", "איטלקית", "איזושהי שפה אחרת")

במקרה זה, "Language:" הוא כינוי השדה.

לקבלת מידע נוסף אודות יצירת שאילתות ושדות מחושבים, עיין במאמר יצירת שאילתת בחירה פשוטה.

שימוש ב-IIf בקוד VBA    

הערה: הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications‏ (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.

דוגמה זו משתמשת בפונקציה IIf כדי להעריך את הפרמטר TestMe של הליך CheckIt ומחזירה את המילה "גדול" אם הסכום גדול מ-1000; אחרת, הפונקציה מחזירה את המילה "Small".

Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

דוגמאות נוספות

ביטוי

תוצאות

= IIf ([AirportCode] = "אורד", "Chicago", IIf ([AirportCode] = "חלופי", "Atlanta", IIf ([AirportCode] = "SEA", "סיאטל", "אחר"))

אם [AirportCode] הוא "אורד", return "Chicago". אחרת, אם [AirportCode] הוא "חלופי", return "Atlanta". אחרת, אם [AirportCode] הוא "SEA", החזר "סיאטל". אחרת, החזר "אחר".

= IIf ([ShipDate] <Date (), "נשלח", IIf ([ShipDate] = Date (), "משלוח היום", "לא נשלח")

אם [ShipDate] הוא לפני התאריך של היום, החזר "נשלח". אחרת, אם [ShipDate] שווה לתאריך הנוכחי, החזר "משלוח היום". אחרת, החזר "לא נשלח".

= IIf ([PurchaseDate] <#1/1/2008, "Old", "New")

אם [PurchaseDate] הוא לפני 1/1/2008, החזר "Old". אחרת, החזר "חדש".

= IIf (Eval ([וולט] בין 12 ל-15 ו [אמפר] בין 0.25 לבין 0.3), "OK", "מחוץ לכיול")

אם [וולט] הוא בין 12 ל-15 ו-[אמפר] הוא בין 0.25 ו-0.3, החזר "אישור". אחרת, החזר "מחוץ לכיול".

= IIf (Eval ([CountryRegion] In ("קנדה", "USA", "מקסיקו")), "North America", "אחר")

אם [CountryRegion] הוא "קנדה", "USA", או "Mexico", החזר את "North America". אחרת, החזר "אחר".

= IIf ([Average] >= 90, "A", IIf ([Average] >= 80, "B", IIf ([Average] >= 70, "C", IIf ([Average] >= 60, "D", "F"))

אם [Average] הוא 90 או גדול יותר, החזר "A". אחרת, אם [Average] הוא 80 או גדול יותר, החזר "B". אחרת, אם [Average] הוא 70 או גדול יותר, החזר "C". אחרת, אם [Average] הוא 60 או גדול יותר, החזר "D". אחרת, החזר "F".

הערה: אם אתה משתמש בפונקציה IIf כדי ליצור שדה מחושב בשאילתה, החלף את סימן השוויון (=) עם כינוי שדה ונקודתיים (:). לדוגמה, מצב: IIf ([ShipDate] <Date (), "נשלח", IIf ([ShipDate] = Date (), "משלוח היום", "לא נשלח" )

זקוק לעזרה נוספת?

שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×