首页 > 解决方案 > 查找 | 匹配/索引,还是 VBA?请帮忙!搜索字符串的列,从该行返回值

问题描述

我会尝试改写这个 bc 我仍然没有运气:

我有一个带有 2 个不同选项卡的工作簿:

  1. REPORT_TAB 和
  2. RAWDATA_TAB

我的 RAWDATA_TAB 有标准的数据库查找数据,如下所示:

   A          |      B      |      C      |    D
ACCOUNT_KEY   |    AMOUNT   |     DATE    |   FEES
 MGX4421           100         6/15/2018       26
 MGLR200           75          6/15/2018        5
 CXDSTR            150         6/15/2018       50
 18000             45          6/15/2018       10

在我的 REPORT_TAB 上,我只想在上面的 A 列中搜索特定帐户,然后返回 B 列中的值。例如:

对于一个单元格,我想搜索“CXDSTR”并返回 150 对于另一个单元格,我想专门搜索 acct“MGX4421”并返回 100

我以为我可以通过以下方式实现:

=VLOOKUP("MGX4421", RAWDATA_TAB!A1:D10,2,0) 这将返回我 100,但它只是说 #N/A 与单元格中的绿色三角形

有什么帮助吗?使用 VLOOKUP 可以做到这一点,还是使用 VBA 更容易?或匹配/索引

在此先感谢您的帮助!

标签: vbaexcelexcel-formulavlookup

解决方案


我能够找到解决方案。我无法让 VLOOKUP 完全按照我的意图去做,所以我使用了 INDEX-MATCH 组合。语法如下:

=INDEX(RAWDATA_TAB!A1:T1000,MATCH("MGX4421",RAWDATA_TAB!C:C,0),2)

这基本上转到 RAWDATA_TAB,搜索包含唯一帐号“MGX4421”的行并返回列“2”,在上面的示例中为 [AMOUNT]。

我希望这对任何人都有帮助


推荐阅读