Почему не работает расширенный фильтр?

Автор Франц, 30 апреля 2024, 19:31

0 Пользователи и 1 гость просматривают эту тему.

Франц

Не работает расширенный фильтр. В чём дело не пойму. Помогите разобраться, пожалуйста.

economist

Расширенный фильтр требует 3-х пустых строк выше данных, об этом написано в документации.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Франц

Благодарю Вас!
Вставил пять строк, всё равно не работает.
Вообще, хорошо было бы, если бы был какой-нибудь "построитель фильтра".

mikekaganski

Что значит "не работает фильтр"? И что значит "помогите разобраться"?
Вы прикрепили некий файл с некими данными. Но что именно Вы делаете? Что именно Вы хотите добиться? Что именно Вы видите?

Или Вы ожидаете ответ типа "я угадал Ваши намерения, и вот специально для Вас составленная инструкция, куда щёлкать, чтобы сделать то, что Вы хотели"?
С уважением,
Михаил Каганский

Франц

Догадаться не мудрено. Блок B3:G31 содержит таблицу с названиями столбцов. Регион F34:F35 (в загруженном файле) содержит область условий (пока что одно условие). Условие состоит из одного выражения, возвращающего логическое значение =F4<СРЗНАЧ(F$4:F$31).

Ставится задача получить набор строк таблицы удовлетворяющих этому условию по столбцу F или по колонке с названием Col5.

Устанавливаем фокус в одну из ячеек таблицы, выполняем команду Данные/ Ещё фильтры/ Расширенный фильтр... Регион таблицы автоматически получает выделение. Открывается диалоговое окно "Расширенный фильтр", указываем в нём область условий - F34:F35 и жмём кнопку OK. Выполняется (?) фильтрация таблицы, ни одной строки в результате мы не получаем. Хотя можно с уверенностью сказать, среди значений столбца F найдутся меньшие чем его среднее значение.

Учитываю замечание насчёт пустых 3-х строк, вставляю пять пустых строк после региона с таблицей перед областью условий. Повторяю вышеописанные действия. Результат такой же.

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

Извините, что сразу не пояснил свою задачу.

Франц

Заметил, что для документа xls не сохранятся опция Параметры/ Libreoffice Calc/ Вычисления/ Разрешить регулярные вычисления в формулах.
Если документ ods - опция сохраняется после переоткрытия. Но, что с ней что без неё всё равно не получается.

mikekaganski

#6
Цитата: Франц от  1 мая 2024, 11:43Регион F34:F35 (в загруженном файле) содержит область условий (пока что одно условие). Условие состоит из одного выражения, возвращающего логическое значение =F4<СРЗНАЧ(F$4:F$31).

Ставится задача получить набор строк таблицы удовлетворяющих этому условию по столбцу F или по колонке с названием Col5

Ошибка здесь. Вы решили, что формула в F35 как-то определяет условие, которое Вы хотите применить к данным. Но это не так. Только значение ячейки F35 учитывается. Поскольку ячейка содержит число 1 (отформатированное как логическое значение, но это неважно), то при применении фильтра Вы увидите лишь те строки, где Col5 равно единице. Ну и естественно, таких нет.

В Вашей F35 должна быть строка критерия "<138.571428571429", которая указывает, что нужны значения менее среднего арифметического. Такую строку можно получить, например, формулой

="<" & AVERAGE(F$4:F$31)
А строки никакие дополнительные там не требуются.

А регулярки в XLS и не будут сохраняться, потому что Excel не умеет регулярки.
С уважением,
Михаил Каганский

Франц

Спасибо, действительно, так работает!
(Построитель выражений хорошо бы!)
Если есть возможность, подскажите ресурсы, где есть рабочие примеры с использованием в расширенном фильтре регулярных выражений (подстановочных знаков?). Потому что попадается информация в основном на уровне "да, есть такая возможность", "можно использовать", и т.п. А реально хоть бы кто скриншот с таким выражением показал. В справке есть перечень регулярных выражений - но что-то применить эти точки-звёздочки пока не получается. Скорее всего опять что-то не так понимаю.

mikekaganski

Опять же, без конкретного описания задачи - чем простое выражение "123" не регулярка? Вполне регулярка. Будет задача - подберём регулярку под задачу.

Ну, и определитесь всё же с форматом. Подстановочные знаки будут работать везде, а вот регулярки - только в файлах ODS (просто потому, что настройка использования регулярок, как Вы убедились, в XLS(X) не сохраняется).
С уважением,
Михаил Каганский

Франц

#9
Работать чаще нужно будет с XLS - в моём случае сторонняя программа экспортирует в таком виде данные.
Вот пример файла. Столбцы таблицы не содержат названий. Думаю, просто использовать первую строку в качестве заголовков (или буду добавлять какие-нибудь заголовки).
Нужно получить все строки содержащие в первом столбце вхождения (скорее окончания) в виде:
FO_BYPASS
VIEW_CONN_RESTORE

Решить задачу хочу именно с помощью расширенного фильтра. Его использование мне представляется наиболее удобным.

mikekaganski

UAC command execution result : succeeds
.*FO_BYPASS
.*VIEW_CONN_RESTORE

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

Франц

#11
Не знаю, что тут можно сделать не так, но не получается! :)
В ответе пустой набор...

mikekaganski

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

Франц

Цитата: mikekaganski от  1 мая 2024, 13:55Ну, например, можно показать скриншот диалога, где Вы задали область критерия и включили регулярки.

добавил выше

Франц

#14
Спасибо! Сработало!
Да, галочку не поставил.

Выложу результат, может кому пригодится.