У меня три листа 1,2 и 3. На листах 2 и 3 три столбца: имя (A), фамилия (B), возраст (C). Как мне выбрать мужчин, возраст которых >=30, из листов 2 и 3, упорядочить их по возрасту и показать результат на листе 1 (тоже 3 столбца)? Я имею в виду что-то эквивалентное SELECT name,surname,age FROM sheet2,sheet3 WHERE age=>30 ORDER BY age
и показать результат на листе 1.
решение1
Excel будет поддерживать некоторые SQL, а Calc — нет. Оставаясь в Calc, чтобы получить результаты на листе 1, потребуется несколько шагов:
Выделите всю таблицу на листе 2, включая строку заголовка. Выберите Данные→Фильтр→Стандартный фильтр и во всплывающем окне выберите имя поля Age
, условие >=
и значение 30
. Скопируйте и вставьте полученную отфильтрованную таблицу (включая строку заголовка, если необходимо) на лист 1.
Повторите эту процедуру на листе 3, скопировав и вставив результаты (на этот раз за исключением строки заголовка) на лист 1 под первой копией и вставкой.
Теперь выделите всю таблицу на листе 1, включая строку заголовка, и выберите Данные → Сортировать и отсортируйте по возрасту.
Если вам нужно делать это часто, возможно, стоит рассмотреть возможность подключения файла Base к файлам Calc, чтобы вы могли обрабатывать данные в электронной таблице как таблицы базы данных. Хотя это было бы довольно сложно, я считаю, что это было бы проще, чем разбираться в макрокоде для выполнения процедуры фильтрации/копирования/фильтрации/копирования/сортировки.