2016-09-21 284 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

相关问题