8.04. Фильтрация данных

Автофильтр

Фильтрация используется для быстрого автоматического отбора записей по заданным параметрам. В таблице с записями для фильтрации не должно быть полностью пустых строк. Если в таблице будет хотя бы одна полностью пустая строка, то фильтр будет видеть только ту часть таблицы, в которой выделена ячейка.

В отличие от автофильтра Microsoft Excel у автофильтра LibreOffice.org Calc имеется особенность: она не любит заполненные строки над строкой заголовка. А что обычно помещается над строкой заголовка? Там размещается название таблицы. Поэтому перед фильтрацией, если на рабочем листе имеется название таблицы (то есть текст над строкой заголовков таблицы), то выделите одну из ячеек заголовков столбцов и выполните команду ВставкаСтроки. На рисунке (Рис. 1) показана правильно подготовленная таблица к автофильтрации. На рисунке (Рис. 2) показана неправильно оформленная таблица.

Правильно подготовленная таблица для автофильтрации в LibreOffice.org Calc, автор Шитов В.Н.

Рис. 1. Правильно подготовленная таблица для автофильтрации в LibreOffice.org Calc

Неправильно подготовленная таблица для автофильтрации в LibreOffice.org Calc

Рис. 2. Неправильно подготовленная таблица для автофильтрации в LibreOffice.org Calc

Если над таблицей нет названия, то описанные выше манипуляции делать не нужно.

Фильтровать можно только таблицу с одностроковым заголовком. Если в процессе создания таблицы объединялись ячейки по вертикали или по горизонтали, то такую таблицу фильтровать нельзя.

После подготовки таблицы выделите любую ячейку таблицы. Лучше всего выделять самую верхнюю левую ячейку, как это показано на рисунке (Рис. 1). Если перед фильтрацией будет выделена ячейка вне таблицы, то будет выведено сообщение, что автофильтрация невозможна. После выделения ячейки выполните команду ДанныеФильтрАвтофильтр. Если все было сделано правильно, то в каждой ячейке заголовка появится треугольная кнопочка (Рис. 3).

Автофильтр включен

Рис. 3. Автофильтр включен

Нажмите на треугольную кнопочку в любом столбце: откроется список каждого значения в выбранном столбце. Щелкните по любому значению в списке: в столбце останутся только записи с выбранным значением. Цвет треугольной кнопочки изменится: вместо черной она станет синей. Многие пугаются, что число записей стало меньше, так как думают, что остальные записи удалились. На самом деле это не так, никуда ничего не удаляется. Чтобы успокоить и доказать, что остальные записи никуда не пропали, снова в этом же столбце нажмите на треугольную кнопочку и выполните команду Все. После этого все записи таблицы выводятся на монитор, а кнопочка из синей снова стала черной.

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

В фильтрованных записях можно выполнять все те операции, которые можно выполнять с записями в обычной (не фильтрованной) таблице. Например, можно суммировать значения по столбцам с помощью кнопки Сумма (). Разница заключается только в том, что если в обычной таблице функция суммирования называется SUM, то в фильтрованной таблице функция будет называться SUBTOTAL.

Для отмены фильтрации выполните ту же команду, с помощью которой включалась фильтрация (ДанныеФильтрАвтофильтр).

Стандартный фильтр

Стандартный фильтр предназначен для более сложных выборок из таблицы. С помощью предыдущего фильтра (автофильтра) можно отбирать только из предлагаемых значений. Но что делать, если нужно отобрать записи в заданном диапазоне? Автофильтр этого сделать не может, а стандартный фильтр может. Для включения стандартного фильтра выполните команду ДанныеФильтр Стандартный фильтр. После этого открывается окно Стандартный фильтр (Рис. 4), а вся таблица с данными автоматически выделяется.

Окно Стандартный фильтр

Рис. 4. Окно Стандартный фильтр

Для настройки фильтра откройте список Имя поля и выберите столбец, по которому необходимо выполнить выборку. В нашем примере использован столбец Цена. В столбце Условие выбирается логическая операция, с помощью которой будет выполняться фильтрация. В столбце Значение указывается значение, участвующее в расчете. В этом списке предлагаются все значения выбранного столбца (в нашем примере Цена), но пользователь может ввести любое значение с клавиатуры. Например, в нашем примере мы собираемся найти все записи, в которых Цена больше 300. В таблице нет такой цены, поэтому мы вводим ее вручную.

Список операторов можно посмотреть по адресу: http://help.libreoffice.org/Common/List_of_Regular_Expressions/ru.

Заполнив одно условие можно его усложнить во второй (третьей... и т. д.) записях отбора. Для этого в столбце Оператор (самый крайний левый столбец) нужно выбрать логическое условие, соединяющее новую строку условия с созданной выше строкой условия. В качестве оператора предлагаются операторы "И" и "ИЛИ". Только после этого становятся доступными параметры этой строки условия. В нашем примере мы хотим найти записи, в которых Цена больше 300, а процент скидки меньше 5%.

В окне видны только 3 строки условия, но справа находится линейка прокрутки, с помощью которой можно открыть другие строки условия поиска.

Нажав на кнопку Детали можно открыть дополнительные параметры отбора. Обязательно установите флажок в опцию Поместить результат в. Если этого не сделать, то таблица с выборкой затрет исходную таблицу и можно потерять данные. После этого становятся доступными нижележащие параметры. Нажмите на кнопку Свернуть/Развернуть (). Окно Стандартный фильтр сворачивается в строку, чтобы не мешать выделению ячеек. Под таблицей с данными выделите несколько строк (любое число) по ширине таблицы. Это будет выглядеть, как на рисунке (Рис. 5).

Выделение ячеек для результата выборки

Рис. 5. Выделение ячеек для результата выборки

После выделения ячеек для результата нажмите на кнопку Свернуть/Развернуть (). После этого программа снова возвращается в полномасштабное окно Стандартный фильтр. Если все параметры фильтрации определены, то нажмите на кнопку ОК. Если все было выполнено правильно, то исходная и выходная таблицы выглядят примерно так (Рис. 6).

Исходная и выходная таблицы LibreOffice.org Calc, автор Шитов В.Н.

Рис. 6. Исходная и выходная таблицы

Две таблицы не мешают дальнейшей работе и анализу. Создав одну фильтрованную таблицу, можно приступить к созданию следующей таблицы. Отключать стандартную фильтрацию вручную не нужно, как автофильтр, так как выполнив выборку стандартная фильтрация отключается автоматически.

Расширенный фильтр

Расширенный фильтр похож на стандартный фильтр, но позволяет создавать условия фильтрации непосредственно на рабочем листе.

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

Создание условий фильтрации

Рис. 7. Создание условий фильтрации

Выделите ячейку основной таблицы (то есть таблицу с данными). Выполните команду Данные ФильтрРасширенный фильтр. После этого открывается окно Расширенный фильтр (Рис. 8).

Окно Расширенный фильтр

Рис. 8. Окно Расширенный фильтр

Для указания программе откуда нужно брать условия фильтрации нажмите на кнопку Свернуть/Развернуть () справа от параметра Взять критерии фильтра из. Выделите все строки условия вместе с заголовочной строкой. В нашем примере это ячейки $A$18:$G$19. Нажмите на кнопку Свернуть/Развернуть () для возвращения в полномасштабное окно Расширенный фильтр.

Нажмите на кнопку Еще и укажите ячейки, в которые следует помещать результат. В предыдущем фильтре мы уже изучали эту возможность с помощью параметра Поместить результат в.

После определения всех параметров нажмите на кнопку ОК. Еще раз напоминаю, что перед вызовом окна Расширенный фильтр необходимо выделить одну ячейку основной таблицы с данными, иначе программа откажется выполнять расчет.

Результат фильтрации будет выглядеть примерно так (Рис. 9).

Результаты фильтрации

Рис. 9. Результаты фильтрации

Авторские права

Материалы с этого сайта разрешается использовать в личных некоммерческих целей. Запрещается размещать материалы на других сайтах без разрешения правообладателя.