首页 > 解决方案 > 如何制作动态下拉列表?

问题描述

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

在此处输入图像描述

在“Order_status”表中:

在此处输入图像描述

至于这些表,我手动插入了这些数据。现在我想创建动态下拉列表,在“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”,但此表中的数据为空。

在此处输入图像描述

2)当我单击“ID_WORKER”列中的单元格时,它会显示如下:“1 Paul Boy”。

3)然后我稍后在“FNAME”和“LNAME”列中选择此列中的值:在“FNAME”中是“Paul”,在“LNAME”中应该是“Boy”。

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

标签: excellistdynamic

解决方案


你可以试试:

  1. 创建一个包含工人的表并将其命名为“tblWorkers”。例如目的表范围是Sheet1 A1:C5.
  2. 使用 ID_WORKERS、Go Data、Data Tools 选项卡、Data Validation、Allow:List & Source: 选择要导入的下拉列表的范围=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

图片

在此处输入图像描述


推荐阅读