Почему в сводной таблице появляется «Пусто» и как это исправить
Сводные таблицы в Microsoft Excel — мощный инструмент для анализа данных, но иногда они подбрасывают неожиданные сюрпризы. Один из самых распространённых — появление надписи «(пусто)» или «(blank)» в ячейках, где должны быть числа, даты или текст. Эта проблема возникает по нескольким причинам:
Во-первых, источник данных может содержать пустые ячейки, которые Excel интерпретирует как отсутствие значения. Во-вторых, при группировке данных или использовании вычисляемых полей программа автоматически подставляет «Пусто» для несоответствующих записей. В-третьих, ошибки в формулах или некорректные настройки отображения тоже ведут к этому результату. Решить проблему можно разными способами — от базовых настроек до продвинутых методов с Power Query или VBA.
Важно понимать, что «Пусто» — это не ошибка, а системное обозначение Excel для отсутствующих данных в контексте сводной таблицы. Его можно скрыть, заменить или обработать, но сначала нужно определить корень проблемы. Например, если в исходных данных есть пропуски, их лучше заполнить нулями или другим нейтральным значением до создания сводной таблицы.
Способ 1: Замена «Пусто» на ноль или тире в настройках поля
Самый быстрый метод — изменить параметры отображения прямо в сводной таблице. Этот способ подходит, если вам нужно просто скрыть надпись «Пусто» без изменения исходных данных. Вот как это сделать:
- Кликните правой кнопкой мыши по любой ячейке сводной таблицы с надписью «(пусто)».
- В контекстном меню выберите
Параметры поля значений...(илиValue Field Settings...в английской версии). - Перейдите на вкладку
Дополнительные параметры отображения(илиNumber Format). - Нажмите кнопку
Числовой формат...и выберите форматВсе форматы. - В поле
Типвведите:
0;-0;""Это заменит положительные числа на
0, отрицательные на-0, а пустые значения — на ничего.
Если вам нужно отобразить вместо «Пусто» тире или другой символ, используйте формат:
0;-0;"-"
Способ 2: Фильтрация пустых значений в исходных данных
Если «Пусто» появляется из-за пропусков в исходной таблице, логичнее устранить причину, а не следствие. Для этого:
- 📊 Откройте источник данных сводной таблицы (лист или внешний файл).
- 🔍 Выделите столбец с пропусками и нажмите
Ctrl+F, чтобы открыть окно поиска. - 🖱️ В поле поиска введите ничего (просто нажмите
Enter), чтобы найти все пустые ячейки. - 📝 Замените их на
0,Н/Дили другой подходящий маркер с помощьюCtrl+H.
После этого обновите сводную таблицу: кликните по ней правой кнопкой и выберите Обновить (или нажмите Alt+F5). Если данные подтягиваются из внешнего источника (например, SQL или Power BI), убедитесь, что там тоже нет пропусков.
Способ 3: Использование вычисляемого поля для обработки пустых значений
Если вам нужно не просто скрыть «Пусто», а заменить его на рассчитанное значение (например, среднее по группе), создайте вычисляемое поле:
- Кликните по сводной таблице, чтобы активировать вкладку
Анализ(илиOptionsв английской версии). - Нажмите
Поля, элементы и наборы → Вычисляемое поле. - В поле
Имявведите название (например,БезПустых). - В поле
Формулаукажите:
IF(ISBLANK([ВашеПоле]), 0, [ВашеПоле])Здесь
[ВашеПоле]— имя столбца, в котором появляется «Пусто». - Нажмите
Добавить, затем перетащите новое поле в областьЗначения.
Этот метод полезен, если вам нужно сохранять логику расчётов, но исключать пустые значения из анализа. Например, при подсчёте средней зарплаты по отделам вы не хотите, чтобы пропуски искажали результат.
Что делать, если формула не работает?
Если Excel выдаёт ошибку #ИМЯ?, проверьте:
1. Правильность названия поля (регистр важен!).
2. Отсутствие пробелов в имени.
3. Тип данных (например, нельзя сравнивать текст с числами).
Способ 4: Настройка параметров сводной таблицы для игнорирования пустых ячеек
Excel позволяет настроить обработку пустых значений на уровне всей сводной таблицы. Для этого:
- Кликните правой кнопкой по любой ячейке сводной таблицы и выберите
Параметры сводной таблицы.... - Перейдите на вкладку
Печать(илиLayout & Formatв новых версиях). - Снимите галочку с пункта
Показывать пустые элементы(илиShow items with no data). - Нажмите
ОКи обновите таблицу (Alt+F5).
Этот способ уберёт строки или столбцы, где все значения пустые. Однако он не поможет, если «Пусто» появляется в отдельных ячейках среди заполненных данных. В таких случаях комбинируйте его с другими методами.
🔹 Убедитесь, что в исходных данных нет скрытых символов (пробелов, табуляций).
🔹 Проверьте, не используются ли в формулах функции вроде VLOOKUP, которые могут возвращать пустоту.
🔹 Обновите сводную таблицу после изменений (Анализ → Обновить).
-->
Способ 5: Power Query — радикальное решение для очистки данных
Если вы работаете с большими наборами данных, Power Query (доступен в Excel 2016 и новее) поможет автоматизировать замену пустых значений. Вот пошаговая инструкция:
- Выделите исходную таблицу и перейдите на вкладку
Данные → Из таблицы/диапазона(илиGet & Transform → From Table/Range). - В открывшемся редакторе Power Query выделите столбец с пропусками.
- На вкладке
ПреобразованиевыберитеЗаменить значения.... - В поле
Значение для поискаоставьте пустым, вЗаменить навведите0или другой маркер. - Нажмите
Закрыть и загрузить, чтобы применить изменения.
Преимущество этого метода — все преобразования сохраняются в виде шагов, и вы можете обновить данные одним кликом. Кроме того, Power Query позволяет обрабатывать миллионы строк без замедления Excel.
| Метод | Подходит для | Сложность | Сохраняет ли данные |
|---|---|---|---|
| Замена в настройках поля | Быстрого скрытия «Пусто» | ⭐ | Нет (только отображение) |
| Фильтрация исходных данных | Устранения причины проблемы | ⭐⭐ | Да |
| Вычисляемое поле | Замены на рассчитанные значения | ⭐⭐⭐ | Да (в новой колонке) |
| Power Query | Обработки больших наборов данных | ⭐⭐⭐⭐ | Да (с возможностью отката) |
Способ 6: VBA-скрипт для автоматической замены «Пусто»
Если вам нужно обработать десятки сводных таблиц или автоматизировать процесс, используйте VBA. Этот код заменит все «(пусто)» на ноль во всех сводных таблицах активного листа:
Sub ReplaceBlankInPivot()
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
For Each pt In ActiveSheet.PivotTables
For Each pf In pt.DataFields
For Each pi In pf.PivotItems
If pi.Name = "(пусто)" Then
pi.Value = 0
End If
Next pi
Next pf
Next pt
End Sub
Чтобы использовать этот скрипт:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Запустите макрос нажатием
F5.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов) и проверьте его на копии данных. Неправильно написанный скрипт может испортить сводные таблицы.
Способ 7: Конструкция ЕСЛИОШИБКА для динамических диапазонов
Если сводная таблица построена на основе динамического диапазона или формулы, оберните её в ЕСЛИОШИБКА (или IFERROR), чтобы обработать пустые значения:
=ЕСЛИОШИБКА(ВашаФормула; 0)
Например, если у вас формула типа:
=ГЕТСВОДДАННЫЕ("Сales"; A2; "Sum")
Замените её на:
=ЕСЛИОШИБКА(ГЕТСВОДДАННЫЕ("Sales"; A2; "Sum"); 0)
Это особенно полезно, если сводная таблица связана с внешними источниками (например, Google Sheets или SQL), где данные могут подгружаться с задержкой.
FAQ: Частые вопросы о «Пусто» в сводных таблицах
Почему после обновления сводной таблицы «Пусто» появляется снова?
Это происходит, если в исходных данных остались пустые ячейки или они подтягиваются из внешнего источника (например, базы данных). Решение:
- Проверьте источник на наличие пропусков.
- Используйте Power Query для автоматической замены пустых значений при обновлении.
- Настройте
Параметры поля значений, чтобы скрывать «Пусто» при отображении.
Можно ли заменить «Пусто» на текст (например, «Нет данных»)?
Да. Для этого в настройках поля значений (Value Field Settings) используйте пользовательский формат:
0;"Нет данных"
Или создайте вычисляемое поле с формулой:
=ЕСЛИ(ISBLANK([ВашеПоле]); "Нет данных"; [ВашеПоле])
Почему в английской версии Excel отображается «(blank)», а не «(пусто)»?
Это зависит от языка интерфейса Excel. В английской версии используется (blank), в русской — (пусто), в немецкой — (Leer) и т.д. Все методы из статьи работают одинаково, просто заменяйте надпись на ту, что видите в своей таблице.
Как убрать «Пусто» в сводной таблице на основе OLAP-куба?
Для OLAP-сводных таблиц (подключённых к SQL Server Analysis Services или Power BI):
- Кликните правой кнопкой по таблице и выберите
Параметры.... - Перейдите на вкладку
Отображение. - Снимите галочку
Показывать элементы без данных. - Если нужно заменить «Пусто» на ноль, используйте
MDX-запросыили настройте это на стороне OLAP-куба.
Можно ли отфильтровать строки с «Пусто» в сводной таблице?
Да, но не через стандартный фильтр. Вместо этого:
- Кликните по стрелке фильтра рядом с названием строки/столбца.
- Снимите галочку с пункта
(пусто)в списке элементов. - Нажмите
ОК— строки с пустыми значениями исчезнут.
Обратите внимание: это скрывает все строки, где хотя бы в одной ячейке есть «Пусто».