Как убрать «Пусто» в сводной таблице Excel: от простых настроек до VBA

Почему в сводной таблице появляется «Пусто» и как это исправить

Сводные таблицы в Microsoft Excel — мощный инструмент для анализа данных, но иногда они подбрасывают неожиданные сюрпризы. Один из самых распространённых — появление надписи «(пусто)» или «(blank)» в ячейках, где должны быть числа, даты или текст. Эта проблема возникает по нескольким причинам:

Во-первых, источник данных может содержать пустые ячейки, которые Excel интерпретирует как отсутствие значения. Во-вторых, при группировке данных или использовании вычисляемых полей программа автоматически подставляет «Пусто» для несоответствующих записей. В-третьих, ошибки в формулах или некорректные настройки отображения тоже ведут к этому результату. Решить проблему можно разными способами — от базовых настроек до продвинутых методов с Power Query или VBA.

Важно понимать, что «Пусто» — это не ошибка, а системное обозначение Excel для отсутствующих данных в контексте сводной таблицы. Его можно скрыть, заменить или обработать, но сначала нужно определить корень проблемы. Например, если в исходных данных есть пропуски, их лучше заполнить нулями или другим нейтральным значением до создания сводной таблицы.

Способ 1: Замена «Пусто» на ноль или тире в настройках поля

Самый быстрый метод — изменить параметры отображения прямо в сводной таблице. Этот способ подходит, если вам нужно просто скрыть надпись «Пусто» без изменения исходных данных. Вот как это сделать:

  1. Кликните правой кнопкой мыши по любой ячейке сводной таблицы с надписью «(пусто)».
  2. В контекстном меню выберите Параметры поля значений... (или Value Field Settings... в английской версии).
  3. Перейдите на вкладку Дополнительные параметры отображения (или Number Format).
  4. Нажмите кнопку Числовой формат... и выберите формат Все форматы.
  5. В поле Тип введите:
    0;-0;""

    Это заменит положительные числа на 0, отрицательные на -0, а пустые значения — на ничего.

Если вам нужно отобразить вместо «Пусто» тире или другой символ, используйте формат:

0;-0;"-"

Способ 2: Фильтрация пустых значений в исходных данных

Если «Пусто» появляется из-за пропусков в исходной таблице, логичнее устранить причину, а не следствие. Для этого:

  • 📊 Откройте источник данных сводной таблицы (лист или внешний файл).
  • 🔍 Выделите столбец с пропусками и нажмите Ctrl+F, чтобы открыть окно поиска.
  • 🖱️ В поле поиска введите ничего (просто нажмите Enter), чтобы найти все пустые ячейки.
  • 📝 Замените их на 0, Н/Д или другой подходящий маркер с помощью Ctrl+H.

После этого обновите сводную таблицу: кликните по ней правой кнопкой и выберите Обновить (или нажмите Alt+F5). Если данные подтягиваются из внешнего источника (например, SQL или Power BI), убедитесь, что там тоже нет пропусков.

📊 Как часто вы сталкиваетесь с «Пусто» в сводных таблицах?
Постоянно
Иногда
Рядом
Никогда

Способ 3: Использование вычисляемого поля для обработки пустых значений

Если вам нужно не просто скрыть «Пусто», а заменить его на рассчитанное значение (например, среднее по группе), создайте вычисляемое поле:

  1. Кликните по сводной таблице, чтобы активировать вкладку Анализ (или Options в английской версии).
  2. Нажмите Поля, элементы и наборы → Вычисляемое поле.
  3. В поле Имя введите название (например, БезПустых).
  4. В поле Формула укажите:
    IF(ISBLANK([ВашеПоле]), 0, [ВашеПоле])

    Здесь [ВашеПоле] — имя столбца, в котором появляется «Пусто».

  5. Нажмите Добавить, затем перетащите новое поле в область Значения.

Этот метод полезен, если вам нужно сохранять логику расчётов, но исключать пустые значения из анализа. Например, при подсчёте средней зарплаты по отделам вы не хотите, чтобы пропуски искажали результат.

Что делать, если формула не работает?

Если Excel выдаёт ошибку #ИМЯ?, проверьте:

1. Правильность названия поля (регистр важен!).

2. Отсутствие пробелов в имени.

3. Тип данных (например, нельзя сравнивать текст с числами).

Способ 4: Настройка параметров сводной таблицы для игнорирования пустых ячеек

Excel позволяет настроить обработку пустых значений на уровне всей сводной таблицы. Для этого:

  1. Кликните правой кнопкой по любой ячейке сводной таблицы и выберите Параметры сводной таблицы....
  2. Перейдите на вкладку Печать (или Layout & Format в новых версиях).
  3. Снимите галочку с пункта Показывать пустые элементы (или Show items with no data).
  4. Нажмите ОК и обновите таблицу (Alt+F5).

Этот способ уберёт строки или столбцы, где все значения пустые. Однако он не поможет, если «Пусто» появляется в отдельных ячейках среди заполненных данных. В таких случаях комбинируйте его с другими методами.

🔹 Убедитесь, что в исходных данных нет скрытых символов (пробелов, табуляций).

🔹 Проверьте, не используются ли в формулах функции вроде VLOOKUP, которые могут возвращать пустоту.

🔹 Обновите сводную таблицу после изменений (Анализ → Обновить).

-->

Способ 5: Power Query — радикальное решение для очистки данных

Если вы работаете с большими наборами данных, Power Query (доступен в Excel 2016 и новее) поможет автоматизировать замену пустых значений. Вот пошаговая инструкция:

  1. Выделите исходную таблицу и перейдите на вкладку Данные → Из таблицы/диапазона (или Get & Transform → From Table/Range).
  2. В открывшемся редакторе Power Query выделите столбец с пропусками.
  3. На вкладке Преобразование выберите Заменить значения....
  4. В поле Значение для поиска оставьте пустым, в Заменить на введите 0 или другой маркер.
  5. Нажмите Закрыть и загрузить, чтобы применить изменения.

Преимущество этого метода — все преобразования сохраняются в виде шагов, и вы можете обновить данные одним кликом. Кроме того, 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

Чтобы использовать этот скрипт:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Запустите макрос нажатием F5.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов) и проверьте его на копии данных. Неправильно написанный скрипт может испортить сводные таблицы.

Способ 7: Конструкция ЕСЛИОШИБКА для динамических диапазонов

Если сводная таблица построена на основе динамического диапазона или формулы, оберните её в ЕСЛИОШИБКА (или IFERROR), чтобы обработать пустые значения:

=ЕСЛИОШИБКА(ВашаФормула; 0)

Например, если у вас формула типа:

=ГЕТСВОДДАННЫЕ("Сales"; A2; "Sum")

Замените её на:

=ЕСЛИОШИБКА(ГЕТСВОДДАННЫЕ("Sales"; A2; "Sum"); 0)

Это особенно полезно, если сводная таблица связана с внешними источниками (например, Google Sheets или SQL), где данные могут подгружаться с задержкой.

FAQ: Частые вопросы о «Пусто» в сводных таблицах

Почему после обновления сводной таблицы «Пусто» появляется снова?

Это происходит, если в исходных данных остались пустые ячейки или они подтягиваются из внешнего источника (например, базы данных). Решение:

  1. Проверьте источник на наличие пропусков.
  2. Используйте Power Query для автоматической замены пустых значений при обновлении.
  3. Настройте Параметры поля значений, чтобы скрывать «Пусто» при отображении.
Можно ли заменить «Пусто» на текст (например, «Нет данных»)?

Да. Для этого в настройках поля значений (Value Field Settings) используйте пользовательский формат:

0;"Нет данных"

Или создайте вычисляемое поле с формулой:

=ЕСЛИ(ISBLANK([ВашеПоле]); "Нет данных"; [ВашеПоле])
Почему в английской версии Excel отображается «(blank)», а не «(пусто)»?

Это зависит от языка интерфейса Excel. В английской версии используется (blank), в русской — (пусто), в немецкой — (Leer) и т.д. Все методы из статьи работают одинаково, просто заменяйте надпись на ту, что видите в своей таблице.

Как убрать «Пусто» в сводной таблице на основе OLAP-куба?

Для OLAP-сводных таблиц (подключённых к SQL Server Analysis Services или Power BI):

  1. Кликните правой кнопкой по таблице и выберите Параметры....
  2. Перейдите на вкладку Отображение.
  3. Снимите галочку Показывать элементы без данных.
  4. Если нужно заменить «Пусто» на ноль, используйте MDX-запросы или настройте это на стороне OLAP-куба.
Можно ли отфильтровать строки с «Пусто» в сводной таблице?

Да, но не через стандартный фильтр. Вместо этого:

  1. Кликните по стрелке фильтра рядом с названием строки/столбца.
  2. Снимите галочку с пункта (пусто) в списке элементов.
  3. Нажмите ОК — строки с пустыми значениями исчезнут.

Обратите внимание: это скрывает все строки, где хотя бы в одной ячейке есть «Пусто».