Выпадающие списки с удалением

В комментариях @Klopuz попросил показать способ как создать выпадающий список с удаляющимися значениями и вот оно решение.

Этот приём удобно применять при распределении дежурств (товаров), чтобы не запутаться и не назначить одного человека дважды, а также наглядно видеть тех, кто остался в запасе. В итоге у нас получится вот такая таблица:

Выпадающие списки с удалением Microsoft Excel, Таблица, Список, Полезное, На заметку, Длиннопост

1. Сперва необходимо подсчитать, кто из имеющихся сотрудников уже назначен на дежурство и на сколько смен. Для этого добавим к серой таблице ещё один столбец, в который введём формулу: =СЧЁТЕСЛИ($B$2:$B$8;E2)

=COUNTIF($B$2:$B$8;E2)

Выпадающие списки с удалением Microsoft Excel, Таблица, Список, Полезное, На заметку, Длиннопост

Эта формула вычисляет, сколько раз имя сотрудника встречалось в диапазоне с именами.


2. Далее выявим свободных сотрудников. Добавим ещё один столбец и введём в него формулу, которая будет выводить номера свободных сотрудников:

=ЕСЛИ(F2-G2<=0;"";СТРОКА(E2)-СТРОКА($E$2)+1)

=IF(F2-G2<=0;"";ROW(E2)-ROW($E$2)+1)

Выпадающие списки с удалением Microsoft Excel, Таблица, Список, Полезное, На заметку, Длиннопост

3. Теперь создадим непрерывный (без пустых ячеек) список свободных сотрудников для связи, на следующем этапе, с выпадающим списком. Для этого добавим ещё один столбец и введём в него формулу:

=ЕСЛИ(D2>СЧЁТ($H$2:$H$10);"";ИНДЕКС($E$2:$E$10;

НАИМЕНЬШИЙ($H$2:$H$10;СТРОКА(E2)-1)))


=IF(D2>COUNT($H$2:$H$10);"";INDEX($E$2:$E$10;

SMALL($H$2:$H$10;ROW(E2)-1)))

Выпадающие списки с удалением Microsoft Excel, Таблица, Список, Полезное, На заметку, Длиннопост

Эта формула выводит очередное по номеру имя сотрудника (используя функцию НАИМЕНЬШИЙ) из списка или пустую ячейку, если имена свободных сотрудников уже кончились.


4. Далее создаём именованный диапазон сотрудников нажав Ctrl+F3 или на вкладке «Формулы» - «Диспетчер имён», где из столбца списка E2 зададим название «Имена», а в строке «Диапазон» введём формулу:

=СМЕЩ(Лист1!$I$2;0;0;СЧЁТЗ(Лист1!$I$2:$I$10)-СЧИТАТЬПУСТОТЫ(Лист1!I$2:I$10))


=OFFSET(Лист1!$I$2;0;0;COUNTA(Лист1!$I$2:$I$10)-

COUNTBLANK(Лист1!I$2:I$10))

Выпадающие списки с удалением Microsoft Excel, Таблица, Список, Полезное, На заметку, Длиннопост

5. Создадим выпадающий список выделив ячейки B2:B8 и на вкладке «Данные» - «Проверка данных» - «Список» - «Источник» =Имена

Выпадающие списки с удалением Microsoft Excel, Таблица, Список, Полезное, На заметку, Длиннопост

Готово) Теперь при выборе сотрудников их имена будут автоматически удаляться из выпадающего списка, оставляя только тех, кто ещё свободен.

MS, Libreoffice & Google docs

719 постов15K подписчика

Добавить пост

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

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

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
Есть подозрение, что эта задача решается гораздо проще в аксессе, тем более, если работа производится с плоской таблицей.
раскрыть ветку (5)
Автор поста оценил этот комментарий
А эксель и аксесс умеют в 5-тимерные таблицы? Это как?
раскрыть ветку (4)
Автор поста оценил этот комментарий

OLAP?

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

В ллюбом случае, выбор программы зависит от задачи. Можно, конечно использовать и powerpoint для создания текстовых документов, но с текстом удобнее работать все таки в ворде.
раскрыть ветку (2)
Автор поста оценил этот комментарий
Смысла в аксессе нет, проще через sql все сделать
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Я бы сказал, правильнее сделать на sql (применительно к хранению данных), но не всегда это нужно. Я недавно пилил небольшую базу, у которой данные на MsSQL, интерфейс написан в аксессе, а аналитику люди уже делают в экселе (выгружая необходимую часть данных в *xlsx).
Если таблицей пользуются человек 10, а объем данных, дай бог, метров сорок в год накопится - нет смысла заморачиваться с sql. Если таблицей пользуется 1 человек - нефиг вообще смотреть в сторону аксесса.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку