- Кратко
- Где встречается
- Самые частые причины
- Функции, которые чаще всего вызывают #ПЕРЕПОЛНЕНИЕ!
- Почему возникает ошибка?
- Как диагностировать ошибку (Алгоритм)
- Разбор реальных примеров и пошаговые способы решения
- Пример 1: Соседняя ячейка занята (самый частый случай)
- Пример 2: Скрытые данные блокируют разлив
- Пример 3: Объединённые ячейки на пути
- Пример 4: Формула внутри Таблицы Excel
- Пример 5: Разлив упирается в границу листа
- Пример 6: Случайный символ в «пустой» ячейке
- Пример 7: Белый шрифт на белом фоне (маскировка)
- Ошибка #SPILL! в Google Sheets
- FAQ: Часто задаваемые вопросы
- Профилактические меры
- Похожие ошибки
- Итоги
Кратко
| Параметр | Описание |
|---|---|
| Ошибка | #ПЕРЕПОЛНЕНИЕ! |
| Что означает | Результат формулы-массива не может «разлиться» на соседние ячейки, потому что они заняты. |
| Чаще всего возникает | ФИЛЬТР, СОРТ, УНИК, ПОСЛЕДОВ, динамические массивы |
| Сложность | ★★☆☆☆ |
| Исправляется | Да |
Где встречается
Ошибка #ПЕРЕПОЛНЕНИЕ! — ровесник динамических массивов. Она появилась вместе с ними и является одной из самых узнаваемых ошибок нового Excel:
✓ Excel 365
✓ Excel 2024
✓ Excel 2021
✗ Excel 2019 — динамические массивы не поддерживаются
✗ Excel 2016 — ошибка отсутствует
✗ Google Sheets — spill-ошибка отсутствует как явление, Таблицы автоматически расширяют диапазон или возвращают #REF!
В англоязычных версиях отображается как #SPILL!. Это ошибка, с которой сталкивается каждый, кто начинает активно использовать динамические массивы.
Самые частые причины
Ошибка #ПЕРЕПОЛНЕНИЕ! в 90% случаев вызвана одной из этих пяти ситуаций:
✓ Диапазон «разлива» занят — соседние ячейки, куда формула пытается вывести результат, содержат данные или пробелы.
✓ Скрытые строки или столбцы блокируют разлив — данные есть, но не видны.
✓ Формула в Таблице Excel (Format as Table) — таблицы не поддерживают spill внутри себя.
✓ Результат выходит за границы листа — массив «упирается» в последний столбец (XFD) или последнюю строку (1 048 576).
✓ Объединённые ячейки на пути разлива — spill несовместим с merged cells.
Функции, которые чаще всего вызывают #ПЕРЕПОЛНЕНИЕ!
Любая функция, возвращающая динамический массив, потенциально может вызвать spill-ошибку.
| Функция | Частота #ПЕРЕПОЛНЕНИЕ! | Типичная причина |
|---|---|---|
| ФИЛЬТР (FILTER) | Очень часто | Много результатов — соседние ячейки заняты |
| СОРТ (SORT) | Часто | Исходный диапазон большой, разлив блокирован |
| УНИК (UNIQUE) | Часто | Уникальных значений больше одной ячейки |
| ПОСЛЕДОВ (SEQUENCE) | Часто | Сгенерированный массив не помещается |
| СЛУЧМАССИВ (RANDARRAY) | Умеренно | Недостаточно свободного места |
| ВПР / ИНДЕКС + ПОИСКПОЗ | Умеренно | Возвращают несколько значений через spill |
| ТРАНСП (TRANSPOSE) | Умеренно | Транспонированный массив блокирован |
| ЧАСТОТА (FREQUENCY) | Редко | Массив результатов конфликтует с данными |
Почему возникает ошибка?
#ПЕРЕПОЛНЕНИЕ! — это прямой наследник революции динамических массивов. До Excel 365 формула могла вернуть только одно значение в одну ячейку. Чтобы получить несколько значений, нужно было выделять диапазон, вводить формулу и нажимать Ctrl+Shift+Enter. Теперь формула сама решает, сколько места ей нужно, и «разливается» (spill) на соседние ячейки.
Но у этой свободы есть границы. Если на пути разлива стоит препятствие — данные, пробел, объединённая ячейка или край листа — Excel не может разместить результат и сигнализирует об этом ошибкой #ПЕРЕПОЛНЕНИЕ!.
Простая аналогия: вы наливаете воду в стакан. Если стакан пуст — вода занимает его. Если в стакане уже что-то есть — вода переливается через край. Excel сообщает: «Я не могу разместить результат, потому что место занято».
Неочевидные препятствия:
- Пробел в «пустой» ячейке — визуально чисто, но для Excel ячейка занята.
- Скрытые строки/столбцы — пользователь их не видит, но формула видит.
- Ячейка с белым шрифтом — выглядит пустой, содержит текст или ноль.
Как диагностировать ошибку (Алгоритм)
- Выделите ячейку с ошибкой.
Excel покажет синюю пунктирную рамку вокруг области предполагаемого разлива. Это точный указатель: сколько ячеек нужно формуле и в каком направлении. - Осмотрите область внутри синей рамки.
Пройдите взглядом по каждой ячейке. Есть ли в них видимые данные? Цифры, текст, даты? - Проверьте невидимые символы.
Выделите подозрительную «пустую» ячейку и нажмите Delete. Или используйте=ДЛСТР(ячейка)— если результат >0, там есть символ. - Проверьте скрытые строки и столбцы.
Посмотрите на заголовки строк и столбцов. Нет ли разрывов в нумерации? Если да — строки скрыты, и в них могут быть данные. - Проверьте объединённые ячейки.
Попадает ли синяя рамка на объединённые ячейки? Spill не работает через них. - Находится ли формула в Таблице Excel (Format as Table)?
Если да — spill невозможен. Это архитектурное ограничение.
Разбор реальных примеров и пошаговые способы решения
Пример 1: Соседняя ячейка занята (самый частый случай)
Задача: Отфильтровать список.
Формула в D2: =ФИЛЬТР(A2:A100; B2:B100="Да")
Результат: #ПЕРЕПОЛНЕНИЕ!
Диагностика: Синяя рамка показывает, что формула хочет занять D2:D15. В D5 пользователь ранее случайно нажал пробел.
Решение:
Выделите ячейку D5 и нажмите Delete. Ошибка исчезнет мгновенно.
Массовая очистка: выделите область внутри синей рамки (исключая ячейку с формулой) → ПКМ → Очистить содержимое.
Пример 2: Скрытые данные блокируют разлив
Задача: =СОРТ(C2:C50) в ячейке E2.
Результат: #ПЕРЕПОЛНЕНИЕ!
Диагностика: Синяя рамка уходит далеко вниз. Пользователь проверяет видимые ячейки — пусто. Но строки 10–15 скрыты фильтром, и в строке 12 есть текст.
Решение:
Снимите все фильтры (Данные → Очистить фильтр). Найдите заполненные ячейки в области разлива. Очистите их. Снова примените фильтр, если нужно.
Пример 3: Объединённые ячейки на пути
Задача: =УНИК(A2:A100) в ячейке D2.
Результат: #ПЕРЕПОЛНЕНИЕ!
Диагностика: Синяя рамка натыкается на ячейки D5:G5, которые объединены. Объединённые ячейки — непреодолимое препятствие для spill.
Решение:
Отмените объединение ячеек на пути разлива: выделите объединённую ячейку → Главная → Объединить и поместить в центре → Отменить объединение.
Пример 4: Формула внутри Таблицы Excel
Задача: =ПОСЛЕДОВ(10) в столбце Таблицы Excel (Format as Table).
Результат: #ПЕРЕПОЛНЕНИЕ!
Диагностика: Таблицы Excel имеют фиксированную структуру. Spill-формулы внутри них не поддерживаются.
Решение:
Перенесите формулу за пределы Таблицы. Если результат нужен внутри, используйте ссылку на spill-диапазон: формула в ячейке за пределами Таблицы, а в Таблице — =A1 (ссылка на соответствующую spill-ячейку).
Пример 5: Разлив упирается в границу листа
Задача: =ПОСЛЕДОВ(1; 20000) в ячейке A16000.
Результат: #ПЕРЕПОЛНЕНИЕ!
Диагностика: Excel пытается разлить 20 000 столбцов, начиная с колонки A16000. Максимальный столбец в Excel — XFD (16 384). Результат не помещается.
Решение:
Уменьшите размер массива или перенесите формулу левее, ближе к началу листа.
=ПОСЛЕДОВ(1; 1000) // Уменьшить запрос
Или разместить формулу в A1.
Пример 6: Случайный символ в «пустой» ячейке
Задача: =СОРТ(A1:A10) в ячейке B1.
Результат: #ПЕРЕПОЛНЕНИЕ!
Диагностика: Визуально B2:B10 пусты. =ДЛСТР(B5) возвращает 1. В ячейке B5 невидимый символ (например, неразрывный пробел, код 160).
Решение:
Выделите область разлива → Ctrl+H (Заменить). В поле «Найти» введите Alt+0160 (на цифровой клавиатуре, при зажатом Alt набрать 0160). Поле «Заменить» оставьте пустым. Нажмите «Заменить всё».
Пример 7: Белый шрифт на белом фоне (маскировка)
Задача: =ФИЛЬТР(A1:B20; C1:C20>0) в ячейке E1.
Результат: #ПЕРЕПОЛНЕНИЕ!
Диагностика: Визуально E1:F20 чисты. Но синяя рамка показывает блокировку. Выделение области и проверка цвета шрифта: в E5 текст написан белым по белому.
Решение:
Выделите область → Главная → Цвет шрифта → Авто. Станет видно скрытый текст. Очистите ячейки.
Ошибка #SPILL! в Google Sheets
Принципиальное отличие: Google Sheets не имеет ошибки #SPILL! в том виде, как в Excel.
Как Google Sheets обрабатывает spill:
- Функции вроде
FILTER,SORT,UNIQUEавтоматически занимают столько места, сколько нужно. - Если соседние ячейки заняты, Google Sheets сдвигает существующие данные вниз или вправо, освобождая место.
- Если сдвиг невозможен (например, защищённый диапазон), возвращается ошибка
#REF!.
Что это значит для пользователя:
- При переносе файла из Google Sheets в Excel формулы могут дать
#SPILL!, потому что Excel не сдвигает данные. - При переносе из Excel в Google Sheets
#SPILL!исчезает, и данные автоматически сдвигаются.
Пример Google Sheets:
=FILTER(A2:A100; B2:B100="Да")
Если результат требует 10 строк, а свободно только 3, Google Sheets сдвинет данные ниже. В Excel та же формула даст #ПЕРЕПОЛНЕНИЕ!.
FAQ: Часто задаваемые вопросы
В: Как узнать, сколько места нужно формуле для разлива?
О: Выделите ячейку с ошибкой. Синяя пунктирная рамка покажет точную область, которую хочет занять формула.
В: Можно ли заставить spill формулу игнорировать занятые ячейки?
О: Нет. Это архитектурное ограничение. Нужно либо очистить ячейки, либо использовать формулу, которая не разливается (например, взять только первое значение через @ или ИНДЕКС(формула;1)).
В: Почему формула работает в Google Sheets, а в Excel — #ПЕРЕПОЛНЕНИЕ!?
О: Google Sheets сдвигает данные, Excel — нет. Это фундаментальное различие платформ.
В: Как использовать spill в Таблице Excel?
О: Никак. Spill внутри Table запрещён. Обходной путь: spill-формула вне таблицы, ссылка на неё из таблицы.
В: Что означает символ @ в формуле?
О: Оператор неявного пересечения. =@ФИЛЬТР(...) заставляет формулу вернуть только первое значение массива, предотвращая spill. Это способ обойти #ПЕРЕПОЛНЕНИЕ!, если вам нужно только одно значение.
Профилактические меры
- Планируйте место для spill-формул.
Размещайте spill-формулы в отдельных столбцах или областях, где нет других данных. Например, выделите колонки D-F под разлив, а данные храните в A-C. - Используйте оператор @, если нужно только первое значение.
=@ФИЛЬТР(диапазон; условие)вернёт только первую строку результата и не будет разливаться. - Не ставьте пробелы в «пустых» ячейках для визуального форматирования.
Используйте условное форматирование или пользовательский формат;;;, чтобы скрыть содержимое без заполнения ячейки пробелами. - Избегайте объединённых ячеек в рабочих листах.
Объединённые ячейки несовместимы со spill. Используйте «Выравнивание по центру выделения» как альтернативу (Формат ячеек → Выравнивание → По центру выделения). - Размещайте spill-формулы в первой строке/столбце свободной области.
Начинайте spill с ячейки A1 или с начала пустого столбца, чтобы у массива было максимальное пространство для роста вправо и вниз. - Проверяйте скрытые строки и столбцы.
Перед созданием spill-формулы снимите все фильтры и покажите скрытые строки/столбцы. Убедитесь, что область разлива действительно пуста.
Похожие ошибки
Ошибка #ПЕРЕПОЛНЕНИЕ! связана с размещением массивов. Если вы столкнулись с ней, вам могут пригодиться эти руководства:
| Ошибка | Описание |
|---|---|
| #ВЫЧИС! | Ошибка вычисления в динамическом массиве (пустой результат ФИЛЬТР) |
| #ССЫЛКА! | Неверная ссылка на диапазон (удалены данные, выход за границы) |
| #ПОЛЕ! | Ссылка на несуществующее поле в типе данных или массиве |
| #ЗНАЧ! | Неправильный тип данных в аргументе функции |
| #Н/Д | Значение не найдено функциями поиска (ВПР, ПОИСКПОЗ) |
Итоги
Ошибка #ПЕРЕПОЛНЕНИЕ! — прямое следствие работы динамических массивов, и она всегда означает одно: формуле не хватает места. Excel показывает синей рамкой точную область, которую хочет занять результат. Задача пользователя — очистить эту область от данных, пробелов, скрытых символов, объединённых ячеек или перенести формулу в более просторное место. В Google Sheets эта ошибка отсутствует, так как Таблицы сдвигают данные автоматически. Лучшая профилактика — выделение отдельных зон под spill-формулы и отказ от объединённых ячеек в рабочих листах.








