Vlookup阵列多列

时间:2014-05-06 13:12:49

标签: arrays excel vlookup

Excel wiz,

我正在尝试使用简单的名称下拉列表构建报告。让我给你一个样本数据集,而不是试着更详细地解释一下:

表1:

    Text                                Person1          Person2          Person3
    String here contains name(s)        Mike Smith       Robert Johnson   Suzy Q
    Another string with name(s)         Dan Boy          John Michael     Bob Wise
    Different string with name(s)       Robert Johnson   Suzy Q           

在我的报告表中,我有一个下拉列表,其中列出了我想要选择的所有可能“人员”,然后从数组中的“文本”列返回所有值。我已经能够使用这个公式只使用一列,其中C4包含我在下拉列表中的选择:

INDEX(表1 [#ALL],SMALL(IF(表1 [PERSON1] = $ C $ 4中,ROW(表1 [PERSON1])),ROW(1:1)),1)

text列将包含Person列的所有名称,但它们的情况不同(全部大写,不能更改格式以用于显示目的)。也许SEARCH函数会更有用吗?我不确定。我试图避免使用宏,但我并不完全反对。

让我知道你们的想法,并提前感谢!

2 个答案:

答案 0 :(得分:1)

只需重新组织您的表格,以便每个名称都有一行...名称上的V-Lookup并获取匹配列表。

Person          Text                               
Mike Smith      String with names
Robert Johnson  String with names
Suzy Q          String with names
Dan Boy         Second string with names

答案 1 :(得分:0)

你试图为团队进行验证吗?像select team一样,那么下一个下拉列表只给出那个团队的成员?

您可以使用偏移内部验证。在一个单元格中对团队列表进行验证。在另一个单元格中,创建列表验证,使用偏移公式根据所选团队返回成员范围。

编辑:不确定如何放入表格,但这是用vlookup填充范围的方法

  • 在带有条目的表格中,添加一个序列号从1-n开始的列

  • 在下拉框的正下方,按顺序输入数字1到n

  • vlookup表中的序列号,即您正在查找的行

  • 列的
  • ,使用匹配在表格中查看当前所选人员的列

  • 将公式向下拖动以填充n个数字