2016-11-12 72 views
-1

我有一个像这样的表在另一个单元格的范围和返回值的匹配值在A列,并返回从列B.例如相应的值,如果$ 34,567.89中一被发现,该公式返回“样本有限责任公司”:Excel的VBA:在同一行

=IFERROR(INDEX(B1:B3,MATCH(A3,A1:A3,0)),"") 

我的问题是,我需要能够运行这个公式同时在4张工作表中使用,并且不能正常工作。我试过以下语法无济于事:

=IFERROR(INDEX(CHOOSE({1,2,3,4},’Sheet1’!B1:B3,’Sheet2’!B1:B3,’Sheet3’!B1:B3,’Sheet4’!B1:B3),MATCH(A3,CHOOSE({1,2,3,4},’Sheet1’!A1:A3,’Sheet2’!A1:A3,’Sheet3’!A1:A3,’Sheet4’!A1:A3),0)),"") 
=IFERROR(INDEX(’Sheet1’!B1:B3&’Sheet2’!B1:B3&’Sheet3’!B1:B3&’Sheet4’!B1:B3,MATCH(A3,’Sheet1’!B1:B3&’Sheet2’!B1:B3&’Sheet3’!B1:B3&’Sheet4’!B1:B3,0)),"") 

我可以用什么公式/ VBA sub来达到想要的结果?如果有人问,A列中的美元值是唯一的(从不重复)。

回答

0
=IFERROR(INDEX(Sheet1!B1:B3,MATCH(A3,Sheet1!A1:A3,0)),"") & 
IFERROR(INDEX(Sheet2!B1:B3,MATCH(A3,Sheet2!A1:A3,0)),"") & 
IFERROR(INDEX(Sheet3!B1:B3,MATCH(A3,Sheet3!A1:A3,0)),"") & 
IFERROR(INDEX(Sheet4!B1:B3,MATCH(A3,Sheet4!A1:A3,0)),"")