Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Офис и Текст - [решено] Libreoffice Calc - выпадающий список с отбором по условию

Ответить
Настройки темы
Офис и Текст - [решено] Libreoffice Calc - выпадающий список с отбором по условию

ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Добрый день

В LibreOffice Calc через "Данные \ Проверка" можно сделать выбор значения из выпадающего списка.
Источником выбираемых значений может быть и список строк, и диапазон ячеек (в том числе именованый диапазон)

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

LibreOffice пишет подсказку: "допустимо только непрерывное выделение строк и столбцов, или формулу, возвращающую диапазон ячеек или массив".
Как я понимаю, нужно использовать формулу, которая сделает выборку данных из таблицы и вернёт список строк? Что это за формула?

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 02:10, 17-05-2016

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата El Scorpio:
Как я понимаю, нужно использовать… »
El Scorpio, базу данных тут надо использовать, а не табличный редактор.

Отправлено: 03:12, 17-05-2016 | #2



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

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


ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Iska, знаю, что тут по функционалу больше LibreOffice Base подходит. А лучше вообще сразу "1С: Предприятие"

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

Осваивать BASE и повторно забивать все сведения (или писать импорт/экспорт) особо некогда. То же самое могу сказать про 1С.
На следующий год может быть и сделаю всё на 1С, чтобы всё было очень удобно и красиво.

А сейчас для быстрого решения конкретной проблемы вроде бы как достаточно ввести пару формул (особенно если они есть).
Просто до этого мне не приходилось работать с формулами массивов

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 03:31, 17-05-2016 | #3


ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Ради поиска одной старой темы открыл список своих тем, увидел эту и вспомнил, что нашёл решение проблемы. Оказывается, оно достаточно простое


Для использования выпадающих списков с отбором по условию в окне "Данные \ Проверка..." в качестве Источника нужно указывать такие вот формулы

Код: Выделить весь код
ЕСЛИ(Ст_Перечень_Процедур_КОСГУ=$F2; ЕСЛИ(Ст_Перечень_Процедур_ОКПД=$C2; Ст_Перечень_Процедур_Наименование; ""); "")
Для наглядности данная формула использует именованные диапазоны ячеек, соответствующие столбцам одной таблицы - источника данных (здесь "Перечень процедур").
Каждый диапазон должен иметь одинаковое количество строк.
$F2 и $C2 - это адреса ячеек текущей строки конечной таблицы

Проверка производится для каждой строки таблицы-источника. Каждая формула ЕСЛИ проверяет соответствие значения ячейки указанного столбца (здесь код КОСГУ или ОКПД) значению поля конечной таблицы. Вместо равенства можно использовать любые другие операции сравнения и условные функции.
Когда все проверки ЕСЛИ завершаются истиной, программа добавляет в выпадающий список значение из столбца "Наименование"
Если же хотя бы одно ЕСЛИ завершается ложью, в список выбора поступает пустая строка (""), которая при отображении списка глушится параметром "Пропуск пустых строк".
В результате мы наблюдаем в списке выбора только те значения, которые нам нужны.

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 16:14, 28-03-2017 | #4



Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Офис и Текст - [решено] Libreoffice Calc - выпадающий список с отбором по условию

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] LibreOffice Calc - закрепить строку kop4enyi Хочу все знать 6 08-04-2022 02:43
[решено] Как сделать список по алфавиту в LibreOffice? ramid Хочу все знать 8 27-12-2016 09:04
VBS/WSH/JS - [решено] Выпадающий список angel_lyucifer Скриптовые языки администрирования Windows 4 05-05-2013 02:57
LibreOffice Calc связь диапазона ячеек run Хочу все знать 1 18-03-2012 14:13
Прочие БД - LibreOffice Base и выгрузка информации в Calc cibin Программирование и базы данных 0 24-10-2011 15:15




 
Переход