#SPILL! פירושה שנוסחה מחזירה כמה ערכים (רשימה או טבלה) ולאקסל אין מקום לכתוב אותם: לפחות תא אחד בטווח שהתוצאה צריכה אינו ריק. ל-=UNIQUE(A2:A6) למטה צריך שלושה תאים, C2 עד C4, וב-C4 יש x. מחקו את C4 והרשימה מופיעה.
| A | B | C | |
|---|---|---|---|
| 1 | Product | Unique list | |
| 2 | Apple | #SPILL! | |
| 3 | Pear | ||
| 4 | Apple | x | |
| 5 | Plum | ||
| 6 | Pear |
#SPILL! התוצאה צריכה יותר תאים פנויים. רוקנו את התאים שחוסמים אותה.לחצו על C2: ההערה שמתחת לרשת אומרת מה הבעיה. אחר כך לחצו על C4 והקישו Delete. שלושת המוצרים נשפכים ל-C2:C4, ומסגרת מסמנת את טווח השפיכה. הקלידו משהו ב-C3 והשגיאה חוזרת. אקסל עובד באותה דרך: פונקציות שמחזירות מערכים, כמו FILTER, UNIQUE, SORT, SEQUENCE ו-TEXTSPLIT, עובדות רק כשכל טווח השפיכה שלהן פנוי. הן דורשות Excel 2021 ואילך (TEXTSPLIT: Microsoft 365 או Excel 2024); גרסאות ישנות יותר מציגות בשבילן #NAME?, ולכן #SPILL! אף פעם לא מופיעה שם (ראו UNIQUE בשביל הפונקציה עצמה).
איך מתקנים את שגיאת #SPILL!
- לחצו על התא עם
#SPILL!. באקסל, גבול מקווקו מראה את הטווח שהתוצאה רוצה למלא. - לחצו על סמל האזהרה שליד התא ובחרו בחר תאים חוסמים (Select Obstructing Cells). אקסל בוחר כל תא שעומד בדרך.
- הקישו Delete, או הזיזו את התאים האלה למקום אחר (גזירה והדבקה).
אם בתאים החוסמים יש נתונים שאתם צריכים, הזיזו את הנוסחה במקום: שימו אותה בעמודה או בשורה שבה כל מה שמתחתיה ולידה ריק.
#SPILL! כשהתאים נראים ריקים
המקרה המבלבל ביותר: טווח השפיכה נראה ריק, אבל אקסל עדיין אומר #SPILL!. תא שמכיל רווח בודד, או נוסחה שמחזירה מחרוזת ריקה "", אינו ריק, והוא חוסם את השפיכה בדיוק כמו ערך.
| A | B | C | |
|---|---|---|---|
| 1 | Numbers | Numbers | |
| 2 | #SPILL! | #SPILL! | |
| 3 | |||
| 4 |
#SPILL! התוצאה צריכה יותר תאים פנויים. רוקנו את התאים שחוסמים אותה.A2 רוצה את A2:A4, וב-A4 יש רווח. C2 רוצה את C2:C3, וב-C3 יש ="". לחצו על A4 או על C3 כדי לראות מה יש שם, מחקו את זה, והמספרים נשפכים. באקסל, בחר תאים חוסמים מוצא את התאים האלה גם כששום דבר לא נראה בהם. טקסט לבן על מילוי לבן מסתתר באותה דרך.
#SPILL! כשנוסחה אחת נשפכת לתוך אחרת
שתי נוסחאות שנשפכות יכולות לחסום זו את זו, או שנוסחה שמישהו הקליד למטה יושבת בתוך טווח השפיכה של זו שמעליה.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Dept | IT | Sales | |
| 2 | Ana | IT | #SPILL! | Ben | |
| 3 | Ben | Sales | Dee | ||
| 4 | Cy | IT | 5 | ||
| 5 | Dee | Sales | |||
| 6 | Eve | IT |
#SPILL! התוצאה צריכה יותר תאים פנויים. רוקנו את התאים שחוסמים אותה.רשימת IT צריכה שלושה תאים, D2:D4, וב-D4 יש נוסחת COUNTA. לרשימת Sales ב-E2 יש את שני התאים שהיא צריכה, ולכן היא עובדת. הזיזו את נוסחת COUNTA ל-D6 (או לכל תא מתחת לרשימה) ושמות ה-IT נשפכים. השאירו מקום לרשימה לגדול: אם יתווסף מאוחר יותר עובד רביעי ב-IT, התוצאה תצטרך עוד תא.
#SPILL! עם VLOOKUP ועמודות שלמות
סיבה נפוצה בנוסחאות שנכתבו לגרסאות ישנות של אקסל היא ערך חיפוש שהוא עמודה שלמה:
=VLOOKUP(A:A,Prices!A:B,2,FALSE) #SPILL! (one result for every row of the sheet)
=VLOOKUP(A2,Prices!A:B,2,FALSE) one result, fill it down
=VLOOKUP(A2:A100,Prices!A:B,2,FALSE) 100 results that spill
=VLOOKUP(@A:A,Prices!A:B,2,FALSE) one result, the value on the formula's own row
ב-A:A יש 1,048,576 תאים, ולכן הנוסחה הראשונה מבקשת 1,048,576 תוצאות, ומשורה 2 ומטה אין מספיק שורות שנשארו: תפריט האזהרה אומר שטווח השפיכה חורג מקצה גליון העבודה. הדפוס הזה מגיע מגרסאות ישנות של אקסל, שבשקט השתמשו רק בערך שבשורה של הנוסחה. Excel 365 שומר על ההתנהגות הזו בחוברות עבודה ישנות כשהוא מציג את הנוסחה כ-=VLOOKUP(@A:A,...), אבל אותה נוסחה שמוקלדת מחדש שופכת את כל העמודה. אותו דבר קורה עם =A:A*2 ועם כל נוסחה אחרת שעושה חשבון על עמודה שלמה. השתמשו בתא אחד ומלאו למטה, בטווח בגודל האמיתי, או ב-@. עוד על החיפוש עצמו נמצא בעמוד על VLOOKUP.
תוצאה אחת לכל שורה במקום שפיכה
גם נוסחה שעושה חשבון על טווח נשפכת. לעתים קרובות זה מה שרוצים, ולפעמים רוצים במקום זה נוסחה אחת לכל שורה.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Sales | Spilled +10% | Filled +10% |
| 2 | Jan | 100 | 110 | 110 |
| 3 | Feb | 120 | 132 | 132 |
| 4 | Mar | 90 | 99 | 99 |
| 5 | Apr | 140 | 154 | 154 |
שתי העמודות מציגות 110, 132, 99 ו-154. ב-C2 יש נוסחה אחת, ו-C3:C5 הם השפיכה שלה: לחצו על C3 וההערה שמתחת לרשת אומרת שהוא נשפך מ-C2. הקלידו ב-C4 ו-C2 הופך ל-#SPILL!. D2:D5 הם ארבע נוסחאות נפרדות, ולכן אפשר לשנות כל תא בנפרד ושום דבר לא יכול לחסום אותן. השתמשו בצורה השנייה כשאנשים יקלידו מעל תוצאות בודדות.
#SPILL! בטבלה, עם תאים ממוזגים, או בגודל לא ידוע
הסיבות האלה תלויות בחוברת העבודה, לא בנוסחה:
- בתוך טבלת Excel (הוספה > טבלה): טבלאות לא תומכות בתוצאות שנשפכות, ולכן FILTER או UNIQUE בעמודה של טבלה מציגות
#SPILL!. שימו את הנוסחה מחוץ לטבלה, או בחרו את הטבלה ובחרו עיצוב טבלה > המר לטווח. - תאים ממוזגים בטווח השפיכה: בחרו אותם ובחרו בית > מזג ומרכז > בטל מיזוג תאים, או הזיזו את הנוסחה.
- טווח השפיכה אינו ידוע: גודל התוצאה משתנה בכל חישוב מחדש, כמו ב-
=SEQUENCE(RANDBETWEEN(1,10)). אקסל מסרב לשפוך תוצאה שהגודל שלה משתנה. תנו לה גודל קבוע. - טווח השפיכה גדול מדי או חורג מקצה גליון העבודה: התוצאה הייתה עוברת את השורה או העמודה האחרונה. אין מספיק זיכרון: המערך גדול מכדי לחשב אותו. בשלושת המקרים, הקטינו את הטווחים, בדרך כלל מעמודות שלמות לנתונים האמיתיים.
להחזיר ערך אחד כדי ששום דבר לא יוכל לחסום
כשצריך רק מספר אחד מרשימה, למשל כמה מוצרים שונים יש, עטפו את הפונקציה שנשפכת בפונקציה שמחזירה ערך יחיד. ערך יחיד אף פעם לא נשפך, ולכן שום תא לא יכול לעמוד בדרכו.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Different products | |||
| 2 | Apple | ||||
| 3 | Pear | ||||
| 4 | Apple | x | |||
| 5 | Plum | ||||
| 6 | Pear | ||||
| 7 | Apple |
תורכם: E2 צריך להראות כמה מוצרים שונים יש ב-A2:A7. =UNIQUE(A2:A7) פשוטה הייתה נשפכת לתוך ה-x שב-E4. כתבו ב-E2 נוסחה אחת שמחזירה את הספירה.
COUNTA סופרת את הערכים ש-UNIQUE מחזירה ומחזירה מספר אחד. אותו רעיון עובד עם =INDEX(SORT(A2:A7),1) בשביל הערך הראשון ברשימה ממוינת, =INDEX(FILTER(...),1) בשביל ההתאמה הראשונה, או =SUM(FILTER(...)) בשביל סכום.
שאלות נפוצות
מה המשמעות של #SPILL! באקסל?
נוסחה החזירה יותר מערך אחד (מערך דינמי) ואקסל לא הצליח לכתוב אותם לתאים שמתחתיה או לידה, כי לפחות אחד מהתאים האלה אינו ריק, ממוזג או נמצא בתוך טבלה. נקו או הזיזו את מה שעומד בדרך והתוצאות מופיעות.
למה אני מקבל #SPILL! כשהתאים נראים ריקים?
תא שנראה ריק עדיין יכול להכיל רווח, נוסחה שמחזירה "", או טקסט בצבע לבן. כל אחד מהם חוסם את השפיכה. לחצו על סמל האזהרה שליד השגיאה ובחרו בחר תאים חוסמים, ואז הקישו Delete.
איך מתקנים #SPILL! עם VLOOKUP?
ערך החיפוש הוא עמודה שלמה או טווח, כמו =VLOOKUP(A:A,D:E,2,FALSE), ולכן אקסל מנסה להחזיר תוצאה אחת לכל שורה בגיליון. השתמשו בתא אחד ומלאו למטה, =VLOOKUP(A2,D:E,2,FALSE), או בטווח בגודל האמיתי, =VLOOKUP(A2:A100,D:E,2,FALSE).
איך מונעים מנוסחה להישפך באקסל?
גרמו לה להחזיר ערך אחד. שימו @ לפני טווח כדי לקחת רק את הערך שבשורה של הנוסחה עצמה (=@A2:A10*2), או עטפו את התוצאה בפונקציה שמחזירה ערך אחד, כמו =COUNTA(UNIQUE(A2:A10)) או =INDEX(SORT(A2:A10),1).
האם נוסחה שנשפכת יכולה להיות בתוך טבלת Excel?
לא. נוסחה שנשפכת מציגה #SPILL! בתוך טבלה. שימו אותה בתא מחוץ לטבלה, או המירו את הטבלה לטווח רגיל עם עיצוב טבלה > המר לטווח.