我想使用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,然后我的单元格包含我的公式应该返回到库1.
目前我正在使用以下内容,但它只能搜索一列而不是多列。有人可以告诉我如何做到这一点?提前谢谢。
=INDEX('Depot Data'!A4:A509,MATCH(AE16,'Depot Data'!B4:BH1644,0))
答案 0 :(得分: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
部分必须更改为([firstRow] -1),如果它不在第4行开始。并且11-3
部分必须更改为[lastRow] +1 - ([ FIRSTROW] -1)。
如评论中提到的XOR LX,以下数组公式更灵活,因为如果在“Depot Data'!Row1: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)))}
问候
阿克塞尔