Excel VBA/公式查找包含搜索词的单元格?

3
我不确定如何真正创建这个问题...但我遇到的问题是:我有一个列表(按行)与监管文件相关,在尝试创建某种for循环或复杂的VLookUp / Index公式后,我请求帮助。例如:
现在我想使用这些行找到文档中对应的部分。我已经提取和格式化了合规文件,使其成为Excel格式。
所以我真正需要的是:可以执行以下操作的公式或VBA脚本 1.获取合规号码(例如存在于单元格A3中的1A-1),并查找仅具有1A-1(而不是1A-1.1,1A-1.1.2等)的单列D中的单元格,并将其返回到1A-1的相邻单元格。
非常感谢... 我太迷茫了!! :/

为什么这需要是一个“复杂的”VLOOKUP?这就是VLOOKUP所做的。即,如果您上面的示例是A1:A7,则=VLOOKUP("1A-1", A1:A7, 1) - Comintern
@comintern 嗯,问题是我已经尝试使用Vlookup一段时间了...因为我将合规文件按编号分开,并且下一列包含实际的合规信息...所以目前看起来是这样的:=VLOOKUP(A35,C:D,2,FALSE),但是我得到了#N/A。 - d. Kim
@Basher 看到了,这也是我遇到的问题... 合规编号确实显示出来了... 只是由于某种原因它不想被识别,我不知道发生了什么事情... 我猜测当问题出现在基本数据层而不是我的逻辑层时,我一直在原地打转... - d. Kim
@d.Kim 如果不是公式的问题,那就是数据的问题。有可能是数据后面有空格。尝试选择C列,按下CTRL+F并转到替换选项卡。在“查找内容”中输入一个空格,然后点击“全部替换”,看看是否解决了问题。 - Basher
@Basher 我试图找到这些单元格,它们显示出来了...所以我不确定发生了什么...我也尝试了你的方法替换其中一个单元格,它确实替换了4个单元格,但vlookup仍然无法工作。真正神秘和相当恼人... - d. Kim
显示剩余4条评论
2个回答

1

VLOOKUP与INDEX/MATCH的比较

enter image description here

你可以用两种方式进行“查找”(据我所知):
使用VLOOKUP
B3单元格包含您的公式。
=IF(ISERROR(VLOOKUP(A3,C:D,2,FALSE)),"",VLOOKUP(A3,C:D,2,FALSE))

在这里,'FALSE'表示必须完全匹配,数据不需要排序。

使用INDEXMATCH

F3单元格包含Index/Match公式。

=IF(ISERROR(MATCH(A3,C:C,0)),"",INDEX(D:D,MATCH(A3,C:C,0)))

其中 '0' 表示必须完全匹配,数据不需要排序。

INDEX / MATCH 更可取!?

MATCH 函数找到所找到的匹配项的位置(如果使用整个列,则为行号)。这种方式(还有另一种)使用 INDEX 函数恰好使用此找到的匹配项,在 任何 指定的列范围(列)中返回单元格的值。因此,它们是理想的组合。

使用 VLOOKUP 函数时,您必须额外指定范围的列索引(range_lookup),当列不相邻时可能会变得复杂,就像在这种情况下一样。最重要的是,如果查找数据位于匹配数据的右侧,则该函数无法工作。

enter image description hereVLOOKUP 无法正常工作! INDEX/MATCH 仍然有效!


0

试试这个公式

enter image description here

单元格中的公式

B2: =INDEX(E:E,MATCH(A2,F:F,0))
C2: =INDEX(G:G,MATCH(A2,F:F,0))
  • MATCH(A2,F:F,0) 是在第 F 列中查找 A2 单元格(0 表示要找到完全匹配的单元格),并返回它发现的第一个行号
  • INDEX(E:E,MATCH(A2,F:F,0)) 将返回匹配公式返回的行号处列 E 的内容

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接