Создать зависимый раскрывающийся список в одной ячейке Excel

Создать зависимый раскрывающийся список в одной ячейке Excel

Я пытаюсь создать зависимый раскрывающийся список для средней школы. Пользователь выберет ячейку A1, нажмет на коридор 3 (например), затем снова нажмет на ячейку A1 и выберет номер комнаты, 325 (например). Конечный результат должен быть таким, что ячейка A1 будет показывать 325. Я могу создать первый раскрывающийся список, но со второй частью у меня большие проблемы. Я использую Excel 2010. Любая помощь будет оценена по достоинству. Спасибо

решение1

Я сомневаюсь, что это возможно сделать в той же ячейке (A1 для первого элемента, а затем снова в той же ячейке для второго элемента). У меня самого была похожая проблема иэтотэто то, что я использовал для решения этой проблемы. Теперь у меня есть несколько выпадающих меню, зависящих друг от друга, на первом листе книги Excel, которую некоторые из моих коллег используют для "заполнения формы" :)Здесьтакже является хорошим примером того, как решить эту проблему.

Пример таблицы, которая может вам понадобиться

A           B
HALLWAY     ROOM
Hallway 3   353
Hallway 3   325
Hallway 1   157
Hallway 1   124
Hallway 2   234
Hallway 2   265

Создайте два раскрывающихся списка.

Первый раскрывающийся список содержит уникальные различные значения из столбца A. Второй раскрывающийся список содержит уникальные различные значения из столбца B на основе выбранного значения в первом раскрывающемся списке.

Создайте динамический именованный диапазон в Формулах > Диспетчер имен > Создать > назовите его hallway> введите =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A$2:$A$1000))в поле «Ссылается на:» > Закрыть

Создайте уникальный список из столбца A. Выберите Лист2 > выберите A2 > введите "=INDEX(hallway,MATCH(0,COUNTIF($A$1:A1,hallway),0))"+ CTRL + SHIFT + ENTER > Скопируйте ячейку A2 и вставьте ее до нужного места.

Создайте динамический именованный диапазон, чтобы получить уникальный список в Формулах > Диспетчер имен > Создать > назовите его uniqhall> введите =OFFSET(Sheet2!$A$2, 0, 0, COUNT(IF(Sheet2!$A$2:$A$1000="", "", 1)), 1)в поле «Ссылается на:» > Закрыть

Создать раскрывающийся список > Выберите Лист1 > Выберите ячейку D2 > Нажмите Данные > Кнопка проверки данных > Проверка данных > Разрешить: Список > Источник: =uniqhall> ОК

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

Создайте динамический именованный диапазон в Формулах > Диспетчер имен > Создать > назовите его room> введите =OFFSET(Sheet1!$B$2,0,0,COUNTA(Sheet1!$B$2:$B$1000))в поле «Ссылается на:» > Закрыть

Создайте уникальный список из столбца B. Выберите Лист2 > выберите B2 > введите "=INDEX(room, MATCH(0, COUNTIF($B$1:B1, room)+(order<>Sheet1!$D$2), 0))"+ CTRL + SHIFT + ENTER > Скопируйте ячейку B2 и вставьте ее до нужного места.

Создайте динамический именованный диапазон, чтобы получить уникальный список в Формулах > Диспетчер имен > Создать > назовите его uniqroom> введите =OFFSET(Sheet2!$B$2, 0, 0, COUNT(IF(Sheet2!$B$2:$B$1000="", "", 1)), 1)в поле «Ссылается на:» > Закрыть

Создать раскрывающийся список > Выберите Лист1 > Выберите ячейку D5 > Часы по данным > Кнопка проверки данных > Проверка данных > Разрешить: Список > Источник: =uniqroom> ОК

Надеюсь, это хоть как-то решит вашу проблему :)

решение2

Использовать для этого одну и ту же ячейку на самом деле нельзя.

Что вы можете сделать, так это использовать ячейку рядом с ней. Хотя кажется, что ответ Роберта Шмидта будет работать, альтернативный (и, на мой взгляд, более простой) метод для той же функции будетперечислены здесь.

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

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

например, Коридор № 34 | Комната 1 | Комната 2 | Комната 3.....

Затем с помощью Менеджера имен и инструмента создания имен из выбранного вы автоматически назначаете каждому коридору в первом столбце «Имя» комнатам в том же ряду.

Наконец, вы используете функцию Data Validation by list, чтобы создать выпадающие списки, один для выбора Hallway, а второй для выбора room. Вы делаете второй зависимым от первого, используя простую формулу =INDIRECT в проверке данных второго столбца.

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

Связанный контент