使用VLOOKUP / INDEX / MATCH无法返回相同输入的多个值

时间:2015-11-16 09:52:40

标签: excel excel-formula vlookup excel-match

我已尝试在线搜索以解决此问题,但似乎无法找到解决此问题的合适解决方案。

我正在尝试查找连接到网络中每个交换机的所有MAC地址。

我在excel中这样做,并有以下示例数据:

    +--------------+------------+--------+
    | Mac Address  |   Switch   |  Port  |
    +--------------+------------+--------+
    | 00144f601fdf | 6553DC-HA1 | Gi4/42 |
    | 00144f601fdf | 6554DC-LA1 | Gi6/1  |
    | 00144f601ff2 | 1123DC-MA1 | Gi8/34 |
    | 00144f601ff2 | 6554DC-LA1 | Gi6/1  |
    | 00144f601ff3 | 1123DC-MA1 | Gi8/35 |
    | 00144f601ff3 | 6554DC-LA1 | Gi6/1  |
    | 00144f685d38 | 1123DC-MA1 | Gi8/44 |
    | 00144f685d38 | 6554DC-LA1 | Gi5/1  |
    +--------------+------------+--------+

我尝试过使用VLOOKUP,但显然只返回第一个值,我尝试过使用INDEX和MATCH,但我没有任何帮助。

理想情况下,我想看看:

     00144f601fdf = 6553DC-HA1 
                  = 6554DC-LA1
     00144f601ff2 = 1123DC-MA1
                  = 6554DC-LA1

等等......对此问题的任何帮助或对潜在解决方案的建议都将不胜感激!

2 个答案:

答案 0 :(得分:0)

您的示例“我想看到”显示每个mac地址的所有开关,但您的请求是“连接到每个Switch的所有MAC地址”。

假设您的示例是您想要查看的内容,那么您可以在“MAC地址”和“切换”列之间的Excel中插入一列,并使用新列中的公式仅在更改时显示MAC地址。 / p>

如果行已按MAC地址排序,且MAC地址为A列,则公式为

=IF(A2=A1,"",A2)

只需将其粘贴到新列的每个单元格中,它就会在第一次出现时显示MAC地址条目 - 结果将如上图所示。

如果你想要一个更加压缩的结果,请使用unique()和transpose()和(可选)concatenate()。 this Google sheet上的示例。

答案 1 :(得分:0)

如果数据的结构与您的示例类似,我建议迈克回答 如果它是无序的,您可以使用以下方法,它总是返回两个结果:
D1=VLOOKUP(A12,$A$2:$C$9,2,FALSE)(相当明显)
D2

=VLOOKUP(A12,
         OFFSET($A$2,
                MATCH(A12,$A$2:$A$9,0),
                0,
                COUNTA($A$2:$A$9) - MATCH(A12,$A$2:$A$9,0),
                2),
         2,
         FALSE)

这会将范围偏移到第一个匹配的MAC地址之后,并将其调整到所提供范围的末尾(如果下面有更多内容)并在其上运行VLOOKUP。