خطاها · حدود 5 دقیقه

خطای #SPILL! در Excel چرا ظاهر می‌شود و چطور محدوده خروجی را پیدا کنیم؟

یک فرمول Dynamic Array مثل FILTER، UNIQUE یا SEQUENCE به‌جای چند نتیجه، #SPILL! نشان می‌دهد و مشخص نیست کدام سلول جلوی خروجی را گرفته است.

اگر عجله داری

اگر فرمول چند نتیجه دارد اما جای کافی برای آن‌ها نیست، Excel خطای #SPILL! می‌دهد. سلول خطادار را انتخاب کنید تا محدوده‌ای که قرار بوده پر شود مشخص شود و مانع را پیدا کنید.

مرحله‌به‌مرحله

  1. سلولی را که #SPILL! نشان می‌دهد انتخاب کنید. Excel محدوده مورد انتظار خروجی را با کادر خط‌چین نشان می‌دهد.
  2. روی هشدار کنار خطا کلیک کنید و اگر گزینه Select Obstructing Cells را می‌بینید آن را بزنید تا سلول‌های مانع مشخص شوند.
  3. محتوای غیرضروری داخل محدوده خروجی را پاک یا به جای دیگری منتقل کنید؛ فرمول اصلی را بی‌دلیل در چند سلول کپی نکنید.
  4. اگر در مسیر سلول Merge شده دارید، فقط در صورتی Unmerge کنید که چیدمان برگه به آن وابسته نیست؛ در غیر این صورت فرمول را به محدوده آزاد دیگری منتقل کنید.
  5. بعد از آزادشدن فضا نتیجه باید خودکار پخش شود. اگر خطا باقی ماند، پیام جزئی‌تر #SPILL! را بررسی کنید چون علت‌های دیگری مثل اندازه نامشخص آرایه هم وجود دارد.

چرا این کار جواب می‌دهد؟

فرمول‌های آرایه پویا نتیجه را از یک سلول به چند سلول مجاور «پخش» می‌کنند. اگر حتی بخشی از محدوده موردنیاز خالی نباشد، سلول Merge شده در مسیر باشد یا ساختار صفحه اجازه گسترش ندهد، Excel نمی‌تواند نتیجه را در شبکه قرار دهد.

سؤال‌هایی که معمولاً بعدش پیش می‌آید

چطور بفهمم فرمول قرار است چند سلول را پر کند؟

سلول دارای #SPILL! را انتخاب کنید؛ Excel معمولاً مرز محدوده مورد انتظار را با خط‌چین نشان می‌دهد.

آیا باید فرمول را در همه سلول‌های محدوده کپی کنم؟

نه. در Dynamic Array معمولاً یک فرمول در سلول مبدأ قرار می‌گیرد و نتیجه خودش در سلول‌های مجاور پخش می‌شود.