【问题标题】:Excel VBA: Match value in range and return value of another cell on the same rowExcel VBA:匹配范围内的值并返回同一行上另一个单元格的值
【发布时间】:2016-11-12 19:39:14
【问题描述】:

我的表格如下所示:

+---+------------+-------------+
|   |     A      |      B      |
+---+------------+-------------+
| 1 | $12,345.67 | ABC inc.    |
| 2 | $23,456,78 | CDE Ltd.    |
| 3 | $34,567.89 | Sample LLC  |
+---+------------+-------------+

我已成功使用以下 Excel 公式在 A 列中搜索特定的美元金额,并从 B 列返回相应的值。例如,如果在 A 中找到 $34,567.89,则该公式返回“Sample LLC”:

=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 子程序来达到预期的结果?如果有人问,A 列中的美元值是唯一的(从不重复)。

【问题讨论】:

    标签: excel indexing match formula


    【解决方案1】:
    =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)),"") 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 2020-03-09
      相关资源
      最近更新 更多