2014-09-19 75 views
0

我想使用excel索引匹配功能通過搜索多個列和行來查找結果。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的值相匹配。

所以我們可以說I型員工亞歷克斯到我的手機AE16則包含我的公式我的手機應該回來與車廠1

目前我使用下列但它只能搜索一列沒有多列。有人可以告訴我怎麼做到這一點?提前致謝。

=INDEX('Depot Data'!A4:A509,MATCH(AE16,'Depot Data'!B4:BH1644,0)) 
+0

其中如果一個經理和員工具有相同的名稱倉庫應當認定? – 2014-09-19 11:10:51

+0

員工和經理永遠不會有相同的名字。我在這個例子中只使用了第一個名字,但是在我實際的電子表格中,我使用的是名字和姓氏 – 2014-09-19 11:14:04

回答

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中,下面的數組公式會更靈活,因爲如果在'倉庫數據'中插入或刪除行,則起始和長度部分會自動更改!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)))} 

問候

阿克塞爾

+0

如果您認爲有一個更好的解決方案,請隨時發佈您自己的答案。 – 2014-09-19 12:51:11

+0

你的解決方案很好。我只是指出,用於爲INDEX生成行參數的構造缺乏靈活性。更好的是ROW('倉庫數據'!$ B $ 4:$ D $ 10)-MIN(ROW('倉庫數據'!$ B $ 4:$ D $ 10))+ 1或ROW('倉庫數據'!$ B $ 4:$ D $ 10)-ROW('倉庫數據'!$ B $ 4)+1,這意味着,如果OP的數據不是從第4行開始,那麼這將不會有任何影響,以及任何進一步的手動計算/從這個參數減去將是沒有必要的。但是,我發佈了一個不正確的鏈接,我現在將其刪除。 – 2014-09-19 13:07:06