基于 2 个标准的索引匹配

基于 2 个标准的索引匹配

我正在努力根据两个条件在 Excel 中创建复合 INDEX MATCH。

我的数据集如下:

RANGE       SITE    TYPE


2711260     LOB     LBO

2711260     MYP     WAN

2711266     GCT     LBO

2711516     EEP     WAN

2711516     EFC     WAN

2711516     LOB     WAN

2711516     MWP     LBO

我想要使​​用 INDEX/MATCH 如下:

— 给定一个 RANGE,返回 SITE,条件是 TYPE ="LBO"。

在我的例子中,TYPE“LBO”对于每个RANGE都是唯一的。例如,如果我的输入数据是2711516,我希望返回“MWP”,而不是“EEP”、“EFC”或“LOB”。

我不确定这是否是嵌套的 INDEX MATCH 语句。请有人帮忙。

答案1

如果您的范围在单元格中D1并且您的类型在单元格中,则E1此公式将返回微波功率

=INDEX(A2:C8,MATCH(1,(A2:A8=D1)*(C2:C8=E1),0),2)

这是一数组公式,因此您需要输入它并使用crtl+ shift+输入它enter

基本上,如果这两个条件都为“真”,则您的匹配项会寻找“真”。

答案2

直到有人提供更清晰的解决方案:您可以创建一个辅助列,其中包含范围和类型列的连接值(使用 CONCATENATE 函数或 & 运算符),并在 MATCH 函数中使用输入&"LBO"进行搜索。

答案3

将公式复制到新工作表的 B、C、D 列中

我结合了 vlookup 和 if formular:

=vlookup(b5,$b$5:$b$17,IF(AND(B5=2711516,c5="MWP"),3,4)1)

笔记:

虽然列只有 3 列,但我在表格范围内添加了第四列。

您现在可以使用 iferror 删除 0 值

答案4

要获得更清晰的解决方案,请执行以下操作:
1. 删除行之间的空白
2. 使用以下公式,假设您的第一个数据位于单元格 B6 中

=IF(VLOOKUP(B6,$B$5:$E$23,IF(AND(B6=2711516,C6="MYP"),3,4),1)=0,"",VLOOKUP(B6,$B$5:$E$23,IF(AND(B6=2711516,C6="MYP"),3,4),1))

注:
添加了一个额外列,以便提供处理其他数据的列号。

相关内容