Microsoft Excel 2007 - 从另一张工作表中抓取多列的下拉列表

Microsoft Excel 2007 - 从另一张工作表中抓取多列的下拉列表

我一直在互联网上搜索这个问题但似乎找不到解决方案。

假设我有 2 张表 — “物品”和“库存”。

在“项目”里面,我有 3 列:

  • 项目名
  • 物品种类
  • 商品成本

在“库存”中,我有与上面相同的列。但是,在“库存”表中的“商品名称”下,我有一个下拉列表,其中列出了在“商品”中的“商品名称”下找到的所有商品。

我希望在“库存”中,如果我从下拉列表中选择一个项目...我不仅希望显示项目名称...而且“库存”中的项目类型和项目成本也应使用我刚刚选择的相应项目的“项目”中的数据进行填充。

这可能吗?

答案1

  • 是的,使用 VLOOKUP。解释来自这里,由 bigmyk2k 回答类似问题。

这里的工作不是在下拉菜单中完成的(这很容易做到),而是在您想要填充的每一列中完成的。

对于每个单元格,编写一个 VLOOKUP,根据下拉单元格中的值在表格中查找所需值。在上面的例子中,您要么想要命名父数据的范围(您要从中填充的单独电子表格中的信息),要么根据需要进行调整。对于此示例,我们假设我们已将父数据命名为:Parent_Data

A1 B1 C1 D1 全名 ID 地址1 地址2

例如,在上面的例子中,如果 FULLNAME 的下拉列表位于单元格 A1 中,并且您正在为 Addr Line 2 创建 VLOOKUP,则

=VLOOKUP(A1,父数据,4,真)

这将找到与您的全名完全匹配的内容,转到其右侧的第三列,然后返回该值。

为了保持简洁,您需要将 vlookup 嵌入 IF 语句中,这样如果没有结果,它就不会显示任何内容。看起来就像这样:

=IF(ISNA(VLOOKUP(A1,Parent_Data,4,True)),"",VLOOKUP(A1,Parent_Data,4,True))

附加澄清说明:

为了解释清楚,我必须先说明 Excel 既可以向下向右工作,也可以向上向左工作。在本例中,我们处于“向下向右”的范围内。

为了使该函数正常工作,您搜索的值(A1 中的全名)也必须位于您要搜索的父数据的最左列。这是因为 Excel 将沿着第一列向下搜索,直到找到该值,然后沿着行向右搜索,直到找到您指定的列。

假设 Fullname 位于 A 列,Excel 将返回 D 列中的值,因为我们已告诉它查找我们找到匹配值的行的第四列。这是公式中的“4”。对于要返回 AddressLine1 的单元格,您将输入完全相同的公式,但使用 3,而不是 4。

“False” 指示 VLOOKUP 函数仅在找到完全匹配项时才返回查询值。“True” 将返回第一个接近匹配项的结果。老实说,我还没搞清楚 Excel 认为文本字符串中的接近项是什么...

  • 这里YouTube 上有 VLOOKUP 视频教程,可提供附加说明。

相关内容