1

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

2 ответа2

3

Я сомневаюсь, что это можно сделать в той же ячейке (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. Выберите Sheet2> выберите A2> type "=INDEX(hallway,MATCH(0,COUNTIF($A$1:A1,hallway),0))" + CTRL + SHIFT + ENTER> Копировать ячейку А2 и вставьте его по мере необходимости.

Создайте динамический именованный диапазон для получения уникального уникального списка в формулах> Диспетчер имен> Новый> назовите его uniqhall > put =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. Выберите Sheet2> выберите B2> type "=INDEX(room, MATCH(0, COUNTIF($B$1:B1, room)+(order<>Sheet1!$D$2), 0))" + CTRL + SHIFT + ENTER> Скопировать ячейку B2 и вставить ее до необходимого размера.

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

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

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

1

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

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

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .