2016-09-21 242 views
0

我想要做的是有點複雜,但我認爲它在Excel中是可行的。excel基於另外兩個值返回單元格的值

我在片我有這樣一個工作簿兩個工作表...

| Code1 | Code2 | Code3 | Code4 | 
| BA1 | xxxxx | xxxxx |  | 
| BA2 | xxxxx | xxxxx |  | 
| BA3 | xxxxx | xxxxx |  | 

而在第二片...

| CodeA | CodeB | CodeC | CodeD | 
| BA1 | 1 | date | text | 
| BA3 | 1 | date | text | 
| BA1 | 2 | date | text | 
| BA2 | 1 | date | text | 
| BA1 | 3 | date | text | 
| BA3 | 2 | date | text | 
| BA2 | 2 | date | text | 

我想要做的是查找代碼1什麼在第一張表格中找到它,然後在CodeA的第二張紙上找到它,然後找到CodeA的最高CodeB,然後連接CodeC和CodeD,並將它們放在Code4的Sheet 1中。

我希望這是有道理的,謝謝你的任何建議。

回答

0

我想我明白了。這看起來是否正確?

enter image description here

對不起,瑞典的公式,但它是你CTRL + SHIFT +添加輸入數組公式。

在英語中,計算公式爲:

{=MAX(IF(Data=A2,CodeB;-1))} 

而命名範圍內的數據是列H和I,以及CodeB是一列
如果未找到該值則返回-1

對不起現在注意到我只做了一半的工作。

創建另一個名爲Range的列,它將列I延伸到K(代碼B - >代碼D)。

而且在列CODE3添加此公式:

=Vlookup(B2,Table,2,false) 

而在碼4:

=Vlookup(B2,Table,3,false) 

,你應該得到:

enter image description here

0

這應該找的結果你正在找。

這是一個數組公式,所以你需要按下CTRL + SHIFT + ENTER一旦你將它輸入到公式欄中,這將必須爲你添加到列的每個公式完成。

由於它是一個數組公式,我只寫了它來引用第1到第18行,所以您需要更新所有引用以包含最後一行。標題CODEa所(至d)

列標題CODE1(4)是所述第一片材上(表1)

列是在第二片材(第2頁)

=CONCATENATE(VLOOKUP(CONCATENATE(A2,MAX(IF(Sheet2!A:A=A2,Sheet2!B:B,-1))), CHOOSE({1,2},Sheet2!A1:A18 & Sheet2!B1:B18, Sheet2!C1:C18),2,0)," ",VLOOKUP(CONCATENATE(A2,MAX(IF(Sheet2!A:A=A2,Sheet2!B:B,-1))), CHOOSE({1,2},Sheet2!A1:A18 & Sheet2!B1:B18, Sheet2!D1:D18),2,0)) 

如果這樣做不需要日期之間的空格,只需從公式中間刪除「」。

+0

這個偉大的工程,我剛插入文本公式來得到正確的日期格式,而不是數字。謝謝! – user2631154

相關問題