我正在匹配两个工作表,以根据一组条件提取所选值。
我的两张工作表&目标工作表看起来与此类似:
真实数据
Flavor ID Size ID California Europe China
2 4 2 5
1 3 4
3 1 3 2
1 2 4 2
要重新填充的工作表
Flavor ID Size ID Score ID Location
2 4 1 California
1 3 1 Europe
3 1 1 China
1 2 1 California
目标
Flavor ID Size ID Score ID Location
2 4 2 California
1 3 4 Europe
3 1 2 China
1 2 4 California
简而言之,我在Flavor ID& amp;大小ID,用于将真实数据工作表中的位置下的值提取到“要重新填充的工作表”的“分数ID”列中的相应单元格。
我最初开始使用索引/匹配组合;
=INDEX(Sheet2!A1:AK51,
MATCH(1, (TrueData!$A:$A = SheettoPopulate!A2)*(TrueData!$B:$B = SheettoPopulate!B2)*(TrueData!$C$1:$E$1 = SheettoPopulate!D2), 0)
, _____)
然后意识到我不知道如何将位于位置下的值提取到一列中(混淆在最后一个参数处)。
答案 0 :(得分:1)
答案 1 :(得分:0)
我在一些示例数据上使用它来填充Score ID
列。放入B2
并向下拖动。请注意,您必须根据数据表的大小等更改某些范围。这只是您提供的示例数据的示例。
=VLOOKUP(B2,'True Data'!$B$1:$E$5,CELL("col",INDEX('True Data'!$C$1:$E$1,1,MATCH(Goal!$D2,'True Data'!$C$1:$E$1,0))) - 1,FALSE)
在True Data
标签上:
然后在我的Goal
标签上:
我必须使用CELL
来获取带有INDEX/MATCH
的参考列,然后我将其用作VLOOKUP
公式中的返回列。
编辑:以下是2列中的公式:
=INDEX('True Data'!$A$1:$E$5,MATCH(1,('True Data'!A:A=Goal!A2)*('True Data'!B:B='True Data'!B2),0),CELL("col",INDEX('True Data'!$C$1:$E$1,1,MATCH(Goal!$D2,'True Data'!$C$1:$E$1,0))))
注意:这是一个数组公式。