Excel公式匹配2张纸中的3列并从第4列中提取数据?

时间:2014-03-13 18:08:03

标签: excel excel-formula calculated-columns

我试图生成一个公式,从工作簿中的另一个工作表中提取信息。

我有1张名为" Views"包含这些列:

ReportName  QueryName   ViewName    ViewAlias

并在名为" items"我有:

ReportName  QueryName   FindViewName    ViewName    ViewAlias FieldName

只有,ViewName是空白的,我需要填充它。目前我有这个公式

=IF(ISERROR(VLOOKUP(E3,Views,1)), "", (VLOOKUP(E3, Views, 1)))

;" FindViewName"柱。然而" ViewAlias"并不是很明显,所以有些物品什么都没有。

为了找到" ViewName"对于这些列,我需要比较" ReportName" #&34; QueryName"和#34; ViewAlias"在每张纸上。如果匹配,我希望它填写" ViewName"来自"观看"的信息;片。

我似乎无法找到一种方法来实现这一点并且只会不断出错。如果有人能提出建议,那将非常有帮助!

2 个答案:

答案 0 :(得分:1)

最简单的方法是创建一个"帮助"专栏如下:

假设:

观看表:

Col A:      Col B:      Col C:      Col D:       Col E:
ReportName  QueryName   ViewName    ViewAlias    Helper
                                                 =A2 & "|" & B2 & "|" & D2

商品说明书

Col A:      Col B:      Col C:         Col D:      Col E:        Col F:      Col G:
ReportName  QueryName   FindViewName   ViewName    ViewAlias     FieldName   Helper
                                       =OFFSET(Views!$A$1,MATCH(G2,Views!$E:$E,0)-1,2)                                      =A2 & "|" & B2 & "|" & E2

实际上,您正在使用帮助器列中的=A2 & "|" & B2 & "|" & E2公式创建要检查的元素的分组,然后您在视图中找到与其匹配的行sheet(MATCH(G2,Views!$E:$E,0)并从该行的C列中提取数据。

希望这是有道理的。

答案 1 :(得分:1)

在Sheet1上创建一个名为key的新计算列,对于第2行创建一个新的计算列:

=$a2&"."&$b2&"."&d2

将所有行复制下来(希望你使用Excel表,这样就会自动发生!)

在工作表2上,对于ViewName列,请在第2行中输入:

=INDEX(sheet1!$D:$D,MATCH($a2&"."&$b2&"."&d2,sheet1!$D:$D,0))

将所有行复制下来(再次,希望您使用Excel表格,这样就会自动发生!)

如果你正在使用表格,你可以修改它以通过编辑公式和选择范围轻松地引用数据项