Menu

IFERROR באקסל: החלפת #N/A ו-#DIV/0! (וגם IFNA)

=IFERROR(B2/C2,0) מחזירה את B2/C2, או 0 כשהחילוק נותן שגיאה. למדו את IFERROR עם VLOOKUP, החזרת תא ריק במקום שגיאה, למה IFNA היא הבחירה הטובה יותר לחיפושים, ולמה הסתרה של כל שגיאה יכולה להסתיר טעויות אמיתיות.

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

=IFERROR(B2/C2,0) מחזירה את התוצאה של B2/C2, או 0 כשהתוצאה הזו היא שגיאה. הארגומנט הראשון הוא הנוסחה שאתם רוצים; השני הוא מה להציג במקום כל שגיאה שהיא מייצרת.

מחיר ליחידה
E2
ABCDE
1ProductRevenueUnitsPlainWith IFERROR
2Pens$12080$1.50$1.50
3Paper$30050$6.00$6.00
4Ink$900#DIV/0!$0.00
5Tape$4530$1.50$1.50
6Clips$00#DIV/0!$0.00
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

ל-Ink ול-Clips יש 0 יחידות, ולכן החילוק הרגיל בעמודה D מציג #DIV/0!. עמודה E מציגה עבורם $0.00 ואת המחיר הרגיל בכל שורה אחרת. הקלידו 15 ב-C4 ושתי העמודות יציגו את המחיר של Ink.

התחביר של IFERROR

=IFERROR(value, value_if_error)
  • value היא הנוסחה לחישוב.
  • value_if_error מוחזר כש-value היא שגיאה כלשהי: #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!, והחדשות יותר כמו #CALC!.
  • אם value אינה שגיאה, IFERROR מחזירה אותה בלי שינוי.

ההחלפה יכולה להיות מספר (0), טקסט ("Not found"), טקסט ריק ("") או נוסחה אחרת, למשל חיפוש שני בטבלה אחרת: =IFERROR(VLOOKUP(E2,A2:C6,3,FALSE),VLOOKUP(E2,G2:I6,3,FALSE)).

IFERROR עם VLOOKUP

חיפוש מחזיר #N/A כשהערך לא נמצא בטבלה. עטיפה שלו ב-IFERROR מציגה הודעה במקום:

חיפוש מחיר
F2
ABCDEF
1ProductCategoryPriceLook forPrice
2AppleFruit$1.20Pear$1.50
3PearFruit$1.50KiwiNot found
4CarrotVegetable$0.80Milk$1.10
5BreadBakery$2.40
6MilkDairy$1.10
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

Kiwi לא נמצא ברשימה, ולכן F3 אומר Not found. הקלידו Kiwi ב-A4 במקום Carrot ו-F3 ימצא אותו. עם XLOOKUP לא צריך IFERROR בשביל זה, כי הארגומנט הרביעי שלה הוא הערך ל"לא נמצא": =XLOOKUP(E2,A2:A6,C2:C6,"Not found").

IFNA: לתפוס רק את #N/A

IFNA עובדת כמו IFERROR אבל מחליפה רק את #N/A. בחיפושים זה בדרך כלל מה שרוצים: #N/A אומר "לא נמצא", שזו תשובה רגילה, ואילו כל שגיאה אחרת אומרת שהנוסחה עצמה שגויה. בגיליון הזה הנוסחאות מבקשות את עמודה 4 של טבלה בת שלוש עמודות, שגיאת הקלדה:

IFERROR מסתירה שגיאת הקלדה, IFNA מראה אותה
F2
ABCDEFG
1ProductCategoryPriceLook forIFERRORIFNA
2AppleFruit1.2PearNot found#REF!
3PearFruit1.5
4CarrotVegetable0.8
5BreadBakery2.4
6MilkDairy1.1
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

Pear נמצא בטבלה, ובכל זאת F2 אומר Not found: IFERROR הפכה את ה-#REF! שנגרם ממספר העמודה השגוי לאותה הודעה כמו מוצר חסר. G2 נותנת ל-#REF! לעבור, וכך רואים שהנוסחה שבורה. שנו את ה-4 ל-3 ב-G2 והיא מחזירה 1.5. IFNA דורשת Excel 2013 ואילך.

החזרת תא ריק במקום שגיאה

כדי לא להציג כלום, השתמשו בטקסט ריק, שתי מירכאות כפולות, כהחלפה:

צמיחה עם תאים ריקים במקום שגיאות
D2
ABCD
1MonthLast yearThis yearGrowth
2Jan20024020%
3Feb0150
4Mar180171-5%
5Apr90
6May25030020%
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

בפברואר ובאפריל לא היו מכירות בשנה שעברה, ולכן אי אפשר לחשב את הצמיחה שלהם והתא נשאר ריק. החודשים האחרים מציגים 20%, מינוס 5% ו-20%. תא עם "" מכיל טקסט: SUM ו-AVERAGE מדלגות עליו, אבל =D3*2 נותנת #VALUE!. אם נוסחאות בהמשך עושות חשבון על העמודה, החזירו 0 במקום.

תרגול: חיפוש עם ערך חלופי

חיפוש מלאי
F2
ABCDEF
1ProductStockLook forStock
2Apple40Kiwi
3Pear25
4Carrot60
5Bread12
6Milk30
לחצו על תא כדי לראות את הנוסחה שלו. שנו מספר או נוסחה והגיליון יחושב מחדש.

תורכם: ב-F2, חפשו את המלאי של המוצר שב-E2 מתוך A2:B6, והציגו "Not found" כשהוא לא ברשימה.

למה הסתרה של כל שגיאה יכולה להסתיר טעויות

IFERROR לא מתקנת שום דבר; היא מחליטה מה התא מציג. לפני שאתם עוטפים בה נוסחה:

  1. בררו למה השגיאה קורית. כשתא Units ריק גורם ל-#DIV/0!, התיקון האמיתי עשוי להיות נתון שמישהו צריך להזין, לא מחיר אפס.
  2. העדיפו IFNA בחיפושים, כך שמספר עמודה שגוי (#REF!), שם עם שגיאת כתיב (#NAME?) או טקסט בעמודת מספרים (#VALUE!) עדיין יוצגו.
  3. בחילוקים, בדקו את המקרה הספציפי. =IF(C2=0,0,B2/C2) מטפלת במחלק אפס ובשום דבר אחר; הפניה שגויה ב-B2 עדיין מציגה את השגיאה שלה. העמוד על #DIV/0! משווה בין שתי הגישות.
  4. בחרו החלפה שאי אפשר לבלבל עם נתונים. 0 בעמודת מחירים נראה כמו מחיר אמיתי ומוריד את הממוצע; "" או "Not found" לא.

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

שאלות נפוצות

איך משתמשים ב-IFERROR עם VLOOKUP?

עטפו את החיפוש: =IFERROR(VLOOKUP(E2,A2:C6,3,FALSE),"Not found"). כש-E2 לא נמצא בעמודה הראשונה, התא מציג Not found במקום #N/A. =IFNA(VLOOKUP(E2,A2:C6,3,FALSE),"Not found") עושה את אותו הדבר ועדיין מציגה שגיאות אחרות.

איך גורמים ל-IFERROR להחזיר תא ריק?

השתמשו בטקסט ריק כארגומנט השני: =IFERROR(B2/C2,""). התא נראה ריק, אבל יש בו טקסט, ולכן =D2+1 עליו נותנת #VALUE!; SUM ו-AVERAGE מדלגות עליו.

מה ההבדל בין IFERROR ל-IFNA?

IFERROR מחליפה כל שגיאה: #N/A, #DIV/0!, #VALUE!, #REF!, #NAME?, #NUM! ו-#NULL!. IFNA מחליפה רק את #N/A, ה"לא נמצא" של חיפושים, ומשאירה כל שגיאה אחרת גלויה, כך שנוסחה שבורה לא מוסתרת.

איך מחליפים #N/A ב-0 באקסל?

עטפו את הנוסחה ב-IFNA עם 0 כערך: =IFNA(VLOOKUP(E2,A2:C6,3,FALSE),0). ב-XLOOKUP ההחלפה מובנית כארגומנט הרביעי: =XLOOKUP(E2,A2:A6,C2:C6,0).

באילו גרסאות של אקסל יש IFERROR ו-IFNA?

IFERROR קיימת מאז Excel 2007 ו-IFNA מאז Excel 2013. בקבצים ישנים יותר אפשר לראות =IF(ISERROR(B2/C2),0,B2/C2), שעושה את אותה עבודה כמו IFERROR אבל מחשבת את הנוסחה פעמיים.

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

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

להתחיל