我试图生成一个公式,从工作簿中的另一个工作表中提取信息。
我有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"来自"观看"的信息;片。
我似乎无法找到一种方法来实现这一点并且只会不断出错。如果有人能提出建议,那将非常有帮助!
答案 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表格,这样就会自动发生!)
如果你正在使用表格,你可以修改它以通过编辑公式和选择范围轻松地引用数据项