2

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

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

Domain Role
A       XYZ
A       ABC
B       DEF
C       DHG
A       LKJ
B       OIO
C       CND

и т.п.

На том же или на другом листе у меня есть столбец, содержащий уникальные значения в столбце Домен, а в следующем столбце я должен отобразить раскрывающийся список на основе выбора в столбце Домен. Например, если кто-то выбрал B в раскрывающемся списке доменов в одной строке, то в столбце ролей той же строки в раскрывающемся списке должны отображаться только значения, относящиеся к значениям B в ролях, показанных выше, т.е. DEF & OIO

2 ответа2

2

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

Я настроил мой пример листа следующим образом:

Скриншот рабочего листа

Введите эту формулу в качестве источника проверки данных E2 раскрывающемся списке в ячейке:

=INDEX($B:$B,MATCH(D2,$A:$A,0)):INDEX($B:$B,MATCH(D2,$A:$A,0)+COUNTIF($A:$A,D2)-1)

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

Недостатки:

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

Существуют более сложные решения для преодоления всех этих ограничений.


Хорошо. Просто, чтобы Раджеш С был доволен (и докажите, что он не прав ;-) хм, нет, вам не нужна формула массива, чтобы генерировать уникальный список или генерировать зависимый / отфильтрованный список, если список источников отсортирован), Вот таблица, обновленная для включения создания списка уникальных доменов и выпадающей формулы проверки в столбце D который его использует:

Обновленный скриншот рабочего листа

Обычная формула, не введенная в массив, введенная в C2 и затем заполненная:

=T(INDEX($A:$A,IFERROR(MATCH(C1,$A:$A,0),ROW())+COUNTIF($A:$A,C1)))

Формула проверки данных для D2 :

=INDEX($C:$C,MATCH("Unique",$C:$C,0)+1):INDEX($C:$C,MATCH("Unique",$C:$C,0)+ROWS(C:C)-COUNTIF(C:C,"")-1)
0

Вам необходимо создать зависимые выпадающие списки.

Следуй этим шагам:

  • В B304 напишите haeder, LISTA и поместите значения в строки ниже, как показано на снимке экрана.
  • Выберите B305:B307 и сортируйте диапазон по возрастанию. Затем назовите этот диапазон "ListA".

NB. Следуйте вышеописанным шагам для ListB & ListC.

  • Выберите B304:D304 и назовите этот диапазон ROLE.

  • Выберите E304, затем перейдите на вкладку ДАННЫЕ, затем нажмите Проверка данных.

  • Под вкладкой «Настройки» для «Разрешить» выберите «СПИСОК» и «Исходная запись» =Role .

  • Поместите указатель ячейки в ячейку G304 и снова доберитесь до проверки данных.

  • Напишите =INDIRECT($E$304) в текстовом поле Source.

Обратите внимание, что после того, как вы выберите Доменное имя в первом раскрывающемся списке, Excel отфильтрует связанные роли в соседнем раскрывающемся списке, как показано на снимке экрана.

NB

  • Настройте адрес ячейки в соответствии с вашими потребностями.

  • Если вы считаете, что хотите заменить кабину LISTA, LISTB и LISTC на A, B и C.

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