Как сделать динамический выпадающий список? - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь создать динамический выпадающий список в MS Excel O365.Я сделал 2 таблицы на 2 разных листах.Ниже приведены таблицы на листе «Рабочие»:

enter image description here

А на листе «Order_status»:

enter image description here

Что касается этих таблиц, я вставил эти данные вручную.Теперь я хотел бы создать динамический выпадающий список, в котором в «ID_Worker» я получаю данные с листа «Рабочие», и когда я выбираю ID_WORKER на листе «Order_status»:

a) отображаются не только ID_WORKER, FNAME, LNAME (Например, 1 Paul Boy)

b) Автоматически записывает данные в столбцы ID_WORKER, FNAME и LNAME.

Я создал динамический выпадающий список, в котором он выбирает только ID_Workers из листа «Рабочие».И эту формулу источника я написал так:

=Workers!$A$2:$A$1048576

Я объясню, что я хотел бы сделать (в примере):

1) В «Статус заказа» есть3 столбца: «ID_WORKER», «FNAME», «LNAME», но данные на этом листе пусты.

enter image description here

2) Когда я нажимаю наячейка в столбце "ID_WORKER", затем она выглядит так: "1 Paul Boy".

3) Затем я выбираю значение в этом столбце позже в столбце "FNAME", и столбец "LNAME" должен записываться автоматически: In "FNAME "это" Paul ", а в" LNAME "должно быть" Boy ".

Я искал какие-то решения, но у меня все еще нет понятия, что делать?Есть идеи?Спасибо за любую помощь!:)

Ответы [ 3 ]

1 голос
/ 04 июня 2019

Вы можете попробовать:

  1. Создайте таблицу с рабочими и назовите ее «tblWorkers». Например, диапазон значений таблицы Sheet1 A1:C5.
  2. Выберите диапазон, который вы хотите импортировать, из выпадающего списка с ID_WORKERS, вкладкой «Перейти к данным», «Инструменты данных», «Проверка данных», «Разрешить: список и источник»: =INDIRECT("tblWorkers[ID_WORKERS]"). Например, используемый диапазон значений составляет Sheet1 E2:E5.
  3. Формула для:

    FNAME: =IF(E2<>"",IFERROR(VLOOKUP(E2,tblWorkers[#All],COLUMN(tblWorkers[FNAME]),FALSE),"Not Matched"),"") Например, диапазон значений: Sheet1 F2:F5

    LNAME: =IF(E2<>"",IFERROR(VLOOKUP(E2,tblWorkers[#All],COLUMN(tblWorkers[LNAME]),FALSE),"Not Matched"),"") Например, диапазон значений: Sheet1 G2:G5

Изображение

enter image description here

0 голосов
/ 04 июня 2019

Выберите ячейку, в которой вы хотите создать раскрывающийся список.Перейдите в Данные -> Инструменты данных -> Проверка данных.

введите описание изображения здесь

0 голосов
/ 04 июня 2019

Вы можете использовать поле ID_Worker на листе "Order_status" в качестве ключа и поиск значений FNAME & LNAME из таблицы "Workers".

Допустим, ваша структура выглядит следующим образом: Лист "Рабочие" Ячейка A1: 1, B1: Пол, C1: Мальчик Ячейка A1: 2, B1: Адам, C1: Джон Ячейка А1: 3, В1: Мартин, С1: Рики Ячейка А1: 4, В1: Адам, С1: Царь

У вас уже есть раскрывающийся список в поле ID_Worker, лист "Order_status" (кстати, то, как вы это делаете, приведет к большому количеству пробелов, лучше всего ограничить его ссылкой на общее количество строк)

Введите формулу в ячейку b2, лист "Order_status": = iferror (vlookup ($ A2, Workers! $ A: $ C, 2,0)) перетащите формулу вниз

Повторите то же самое для ячейки c2: = iferror (vlookup ($ A2, Workers! $ A: $ C, 3,0)) перетащите формулу вниз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...