
- Очистка и удаление фильтров в Excel
- Часть 1: Быстрые решения для повседневных пользователей Excel (ПК и веб-версия)
- Часть 2: Автоматизация для опытных пользователей и разработчиков
- Итоги: какой метод выбрать?
- Часто задаваемые вопросы
Фильтры в Excel позволяют сосредоточиться на конкретных записях в больших таблицах. Однако, когда отчет готов к отправке, рабочая книга используется повторно или вам нужно просмотреть весь набор данных, активные фильтры могут скрывать важные строки или оставлять ненужные значки фильтрации.
Очистка или удаление фильтров в Excel — простая задача, но выбор метода зависит от того, что именно вы хотите получить. Возможно, вам нужно сбросить настройки только одного столбца, очистить все активные фильтры, сохранив элементы управления, полностью убрать значки фильтрации или очистить фильтры сразу в нескольких книгах. В этом руководстве рассматриваются шесть практических способов сделать это с помощью настольной версии Excel, веб-версии, VBA и C#.
Очистка и удаление фильтров в Excel
Очистка фильтров и удаление фильтров в Excel — это разные действия. Понимание разницы поможет вам эффективно сбрасывать представления данных, не нарушая рабочий процесс:
| Действие | Что оно делает | Значки фильтров |
|---|---|---|
| Очистить фильтр | Удаляет активные критерии фильтрации и отображает скрытые строки | Остаются |
| Удалить фильтр | Отключает фильтрацию и полностью убирает элементы управления фильтрами | Удаляются |
Когда что использовать
- Используйте «Очистить», если хотите сбросить текущий вид и продолжить фильтрацию.
- Используйте «Удалить», если фильтрация больше не нужна и вам нужен «чистый» вид данных.
Часть 1: Быстрые решения для повседневных пользователей Excel (ПК и веб-версия)
Если вы работаете в настольной или веб-версии Excel, используйте описанные ниже методы для очистки или удаления фильтров.
Важное примечание: Описанные ниже операции применимы как к обычным диапазонам ячеек, так и к «Умным таблицам».
Способ 1: Очистка фильтра в одном столбце
Используйте этот метод, если у вас активны фильтры в нескольких столбцах (например, «Страна» и «Год»), но вы хотите сбросить критерии только для одного из них, не меняя фильтры в остальных.
Пошаговая инструкция
- Нажмите на значок фильтра в заголовке нужного столбца.
- Выберите Очистить фильтр из «[Имя столбца]».
Горячие клавиши
- Windows: Выберите ячейку заголовка, нажмите Alt + Стрелка вниз, чтобы открыть меню фильтра, затем нажмите C.
- Mac: Выберите ячейку заголовка, нажмите Option + Стрелка вниз, затем выберите Очистить фильтр.
Результат: Excel отобразит строки, скрытые фильтром этого столбца, при этом фильтры в других столбцах останутся активными.

Совет: Если вы не можете выбрать значок фильтра, проверьте, не защищен ли лист. Защита листа может блокировать сброс фильтров.
Способ 2: Очистка всех фильтров на листе
Используйте этот метод, если отфильтровано несколько столбцов и вам нужно восстановить полный набор данных, не отключая функцию фильтрации.
Пошаговая инструкция
- Перейдите на вкладку Данные на ленте Excel.
- В группе Сортировка и фильтр нажмите кнопку Очистить.
(Или перейдите на вкладку Главная > Сортировка и фильтр (в группе «Редактирование») > Очистить).
Горячие клавиши
- Windows: Нажмите последовательно Alt + A + C.
- Mac: В Excel для Mac нет стандартного сочетания клавиш для очистки всех фильтров. Используйте метод через ленту.
Результат: Excel отобразит все скрытые строки на листе, сохранив значки фильтров в заголовках.

Способ 3: Полное удаление фильтров и кнопок фильтрации
Если вы хотите полностью отключить функцию фильтрации и убрать выпадающие стрелки из заголовков, используйте этот метод.
Пошаговая инструкция
- Нажмите на любую ячейку внутри вашего диапазона данных.
- Перейдите на вкладку Данные на ленте Excel.
- В группе Сортировка и фильтр нажмите кнопку Фильтр (значок воронки), чтобы отключить её.
(Или перейдите на вкладку Главная > Сортировка и фильтр > Фильтр).
Горячие клавиши
- Windows: Нажмите последовательно Ctrl + Shift + L (или Alt + A + T).
- Mac: Нажмите Cmd + Shift + F.
Результат: Excel удалит все активные критерии, отобразит скрытые строки и уберет значки фильтров из заголовков.

Примечания:
- Удаление фильтров влияет только на настройки фильтрации; оно не удаляет форматирование ячеек или условное форматирование. Если вам нужно очистить и визуальные правила, см. как удалить условное форматирование в Excel.
- Удаление фильтров лишь отключает функцию «Автофильтр». Оно не удаляет, не скрывает и не изменяет исходные данные. Строки, скрытые вручную (не фильтрами), останутся скрытыми.
Способ 4: Очистка или удаление фильтров в Excel для интернета
Если у вас не установлено приложение Excel или вы работаете в браузере, вы можете очистить критерии или отключить фильтрацию с помощью Excel для интернета.
Пошаговая инструкция
- Нажмите на любую ячейку в отфильтрованном диапазоне.
- Перейдите на вкладку Данные на ленте.
- Выберите действие:
- Чтобы очистить критерии: Нажмите Очистить.
- Чтобы полностью удалить фильтры: Нажмите кнопку Фильтр, чтобы отключить функцию.
Примечание по совместной работе:
Если вы работаете в общей книге, хранящейся в OneDrive или SharePoint, Excel может спросить, хотите ли вы применить изменения только для себя или для всех. Выберите «Только для меня», чтобы работать в отдельном представлении листа, не меняя вид для других пользователей.
Часть 2: Автоматизация для опытных пользователей и разработчиков
Ручные методы хороши для отдельных файлов. Если вам нужно регулярно очищать фильтры на множестве листов или файлов, приведенные ниже решения на VBA и C# помогут значительно сократить рутинную работу.
Способ 5: Очистка фильтров на всех листах (макрос VBA)
Этот макрос VBA проверяет каждый лист в книге и очищает активные критерии фильтрации, оставляя при этом элементы управления фильтрами на месте:
Sub ClearFiltersFromAllWorksheets()
Dim ws As Worksheet
Dim tbl As ListObject
For Each ws In ThisWorkbook.Worksheets
' Очистка фильтров из обычного диапазона
If ws.FilterMode Then
ws.ShowAllData
End If
' Очистка фильтров из таблиц Excel
For Each tbl In ws.ListObjects
If Not tbl.AutoFilter Is Nothing Then
tbl.AutoFilter.ShowAllData
End If
Next tbl
Next ws
End Sub
Как использовать
- Нажмите Alt + F11 (Windows) или Option + F11 (Mac), чтобы открыть редактор VBA.
- Выберите Insert > Module в верхнем меню.
- Вставьте приведенный выше код в окно.
- Нажмите F5 для запуска или закройте редактор и нажмите Alt + F8 (Windows) / Option + F8 (Mac), чтобы запустить макрос из Excel.
⚠️ Важное предупреждение
Запуск макроса VBA очищает историю отмены действий (Undo), поэтому изменения, внесенные макросом, обычно нельзя отменить с помощью Ctrl + Z. Всегда сначала тестируйте макрос на резервной копии данных. Если вы хотите сохранить код VBA в книге, сохраните её как «Книга Excel с поддержкой макросов» (.xlsm).
Если после запуска макроса код вам больше не нужен, вы можете удалить макросы из книги Excel перед отправкой.
Способ 6: Пакетное удаление фильтров из нескольких файлов Excel с помощью C#
VBA полезен, если вы уже работаете в Excel, но он требует наличия установленного Office и ручного запуска.
Для пакетной обработки или серверных задач ручное открытие каждой книги непрактично. Следующий пример на C# использует Spire.XLS for .NET для удаления автофильтров со всех листов в нескольких файлах Excel без запуска Microsoft Excel или использования Office Interop.
Шаг 1: Установка библиотеки
Добавьте пакет в проект через NuGet Package Manager:
Install-Package Spire.XLS
Или через .NET CLI:
dotnet add package Spire.XLS
Шаг 2: Код C# для автоматического пакетного удаления фильтров
Следующая программа считывает все файлы Excel из папки, проходит по каждому листу, удаляет автофильтры и сохраняет обработанные файлы в целевую папку.
using System;
using System.IO;
using Spire.Xls;
class Program
{
static void Main(string[] args)
{
// Пути к папкам
string inputFolder = @"C:\ExcelFiles\Input";
string outputFolder = @"C:\ExcelFiles\Output";
if (!Directory.Exists(outputFolder))
{
Directory.CreateDirectory(outputFolder);
}
string[] excelFiles = Directory.GetFiles(inputFolder, "*.xl*");
foreach (string file in excelFiles)
{
Workbook workbook = new Workbook();
try
{
workbook.LoadFromFile(file);
foreach (Worksheet sheet in workbook.Worksheets)
{
sheet.AutoFilters.Clear();
for (int i = 0; i < sheet.ListObjects.Count; i++)
{
var table = sheet.ListObjects[i];
table.AutoFilters.Clear();
}
}
string fileName = Path.GetFileName(file);
workbook.SaveToFile(Path.Combine(outputFolder, fileName));
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
finally
{
workbook.Dispose();
}
}
}
}
Устранение неполадок:
- Файлы, защищенные паролем, вызовут ошибку при загрузке; вам нужно будет передать пароль в метод
LoadFromFile.
Примечание о лицензии: Пробная версия библиотеки может добавлять лист с предупреждением об оценке. Вы можете получить временную лицензию, чтобы убрать его.
Итоги: какой метод выбрать?
Выбор зависит от того, нужно ли вам сохранить элементы управления фильтрами и сколько файлов предстоит обработать.
| Метод | Лучше всего подходит для | Сохраняет стрелки? | Уровень |
|---|---|---|---|
| 1. Очистка одного столбца | Локальных правок без влияния на другие фильтры | ✅ Да | Начинающий |
| 2. Очистка всех фильтров | Быстрого возврата к полному просмотру данных | ✅ Да | Начинающий |
| 3. Полное удаление | Подготовки «чистого» отчета | ❌ Нет | Начинающий |
| 4. Excel для интернета | Работы в браузере или совместного доступа | Зависит от действия | Начинающий |
| 5. Макрос VBA | Повторяющейся очистки в активной книге | ✅ Да | Средний |
| 6. Пакетная обработка C# | Автоматизации на сервере или для множества файлов | ❌ Нет | Продвинутый |
Для большинства повседневных задач достаточно методов 1–4. VBA и C# лучше подходят для повторяющихся операций с большим количеством файлов.
Часто задаваемые вопросы
В: Почему кнопка «Данные > Очистить» неактивна?
О: Команда Данные > Очистить недоступна, если нет активных критериев фильтрации. Значки фильтров могут оставаться видимыми, так как сама функция фильтрации включена.
В: Можно ли скрыть значки фильтров в таблице Excel?
О: Да. Нажмите внутри таблицы, перейдите на вкладку Конструктор таблиц и снимите флажок Кнопка фильтра. Это лишь скроет значок, но критерии останутся активными. Сначала используйте Данные > Очистить, если хотите отобразить все строки.
В: Удалит ли очистка фильтра мои скрытые строки?
О: Нет. Фильтрация скрывает строки, не соответствующие критериям, но не удаляет их. Очистка или удаление фильтров просто делает их видимыми. Строки, скрытые вручную, останутся скрытыми.
В: Можно ли отключить фильтрацию только для одного столбца?
О: Нет. Вы можете очистить критерии фильтрации в отдельном столбце, но отключить фильтрацию только для одного столбца в диапазоне нельзя — фильтры применяются ко всему диапазону. Если вы не хотите, чтобы столбец был доступен для фильтрации, вы можете скрыть его.