excel-使用索引匹配从多个列和行中查找结果

excel-使用索引匹配从多个列和行中查找结果,excel,indexing,match,Excel,Indexing,Match,我想使用excel索引匹配功能通过搜索多个列和行来查找结果 我有以下表格设置: Depot Manger Employee Employee 1 Dave Haris Alex 2 Linda Elliot Tom 3 Eric Michael Lucy 4 James Glenda Mark 5 Frank Jo

我想使用excel索引匹配功能通过搜索多个列和行来查找结果

我有以下表格设置:

Depot    Manger     Employee    Employee
1        Dave       Haris       Alex
2        Linda      Elliot      Tom
3        Eric       Michael     Lucy
4        James      Glenda      Mark
5        Frank      John        Paul
我想获取相关员工或经理的仓库编号,其中经理姓名或员工姓名与我的单元格AE16中的值匹配

假设我将雇员Alex输入我的单元格AE16,然后包含公式的单元格将返回depot 1

目前,我正在使用以下内容,但它只能搜索一列,不能搜索多列。有人能告诉我怎么做吗?提前谢谢

=INDEX('Depot Data'!A4:A509,MATCH(AE16,'Depot Data'!B4:BH1644,0))
传统方式:

=INDEX('Depot Data'!$A$4:$A$10,
IFERROR(MATCH(AE16,'Depot Data'!$B$4:$B$10,0),
IFERROR(MATCH(AE16,'Depot Data'!$C$4:$C$10,0),MATCH(AE16,'Depot Data'!$D$4:$D$10,0))))
我只有第10排。但这一点你应该能够很容易地纠正

或使用数组公式:

{=INDEX('Depot Data'!$A$4:$A$10,
MIN(IF('Depot Data'!$B$4:$D$10=AE16,ROW('Depot Data'!$B$4:$D$10)-3,11-3)))}
你知道,如何处理这样的数组公式

如果-3部分不是从第4行开始,则必须将其更改为[firstRow]-1。11-3部分必须更改为[lastRow]+1-[firstRow]-1

从注释中提到的XOR LX来看,下面的数组公式更灵活,因为如果在“仓库数据”中插入或删除行,开始部分和长度部分会自动更改!罗1:10。当然,对于初学者来说,它更复杂,也更难理解

{=INDEX('Depot Data'!$A$4:$A$10,
MIN(IF('Depot Data'!$B$4:$D$10=AE16,
ROW('Depot Data'!$B$4:$D$10)-ROW('Depot Data'!$B$4)+1,
ROWS('Depot Data'!$B$4:$D$10)+1)))}
问候


Axel

如果经理和员工同名,应该找到哪个仓库?员工和经理永远不会同名。在这种情况下,我只使用了名字,但在我的实际数据表上,我使用了名字和姓氏。如果你认为有更好的解决方案,请随意发布你自己的答案。你的解决方案很好。我只是指出,用于为索引生成行参数的构造缺乏灵活性。更好的是任何一行“仓库数据”$B$4:$D$10-MINROW‘仓库数据’$B$4:$D$10+1或行“仓库数据”$B$4:$D$10行“仓库数据”$B$4+1,这意味着,如果OP的数据不是从第4行开始的,这将无关紧要,并且没有必要对该参数的任何增加/减少进行任何进一步的手动计算。然而,我发布了一个不正确的链接,我现在将删除它。