如何制作动态下拉列表?

时间:2019-06-04 05:28:59

标签: excel list dynamic

我正在尝试在MS Excel O365中创建动态下拉列表。我在2张不同的纸上做了2张桌子。以下是“工作人员”工作表中的表格:

enter image description here

在“订单状态”表中:

enter image description here

关于这些表,我手动插入了该数据。现在,我想创建动态下拉列表,该下拉列表在“ ID_Worker”中从“ Workers”工作表中获取数据,并在“ Order_status”表中选择ID_WORKER:

a)不仅显示ID_WORKER,FNAME,LNAME(例如1 Paul Boy)

b)自动将数据写入ID_WORKER,FNAME和LNAME列。

我已经完成了动态下拉列表,它从“ Workers”表中仅选择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”列中自动选择此列中的值:在“ FNAME”中为“ Paul”,在“ LNAME”中为“ Boy”。

我正在寻找任何解决方案,但是我仍然不知道该怎么办?有任何想法吗?感谢您的帮助! :)

3 个答案:

答案 0 :(得分:1)

您可以尝试:

  1. 使用worker创建一个表,并将其命名为“ 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

答案 1 :(得分:0)

您可以使用工作表“ Order_status”中的ID_Worker字段作为键,并在“ Workers”表中查找FNAME和LNAME的值。

假设您的结构如下: 工作表“工人” 单元格A1:1,B1:Paul,C1:男孩 单元格A1:2,B1:Adam,C1:John 单元格A1:3,B1:马丁,C1:Ricky 单元格A1:4,B1:亚当,C1:国王

您已经在ID_Worker字段的“ Order_status”工作表中添加了下拉菜单(顺便说一句,它将导致很多空白,最好将其限制为引用总行数)

将公式输入到单元格b2中,表格“ Order_status”:= iferror(vlookup($ A2,Workers!$ A:$ C,2,0))将公式向下拖动

对单元格c2:= iferror(vlookup($ A2,Workers!$ A:$ C,3,0))重复相同的操作

答案 2 :(得分:0)

选择要在其中创建下拉列表的单元格。 转到数据–>数据工具–>数据验证。

enter image description here