我不确定如何真正提出问题... 但我遇到的问题是:我有一个与监管文件相关的列表(按行排列),在尝试创建某种 for 循环或精心设计的 VLookUp/Index 公式后,我请求帮助。 例如:
现在我想使用行来查找文档中的相应部分。我已经提取并格式化了合规性文档,所以它是 excel 格式。
所以我真正需要的是:一个公式或 VBA 脚本,可以 1. 获取合规编号(例如单元格 A3 中的 1A-1)并找到一个单元格(在单列 D 中)只有 1A-1,而不是 1A-1.1,不是 1A-1.1.2,等等。并将其返回到相邻的单元格,例如 1A-1。
提前非常感谢...我迷路了!! :/
最佳答案
VLOOKUP 与索引/匹配
您可以通过两种方式进行“查找”(据我所知):
使用VLOOKUP:
B3 单元格包含您的公式
=IF(ISERROR(VLOOKUP(A3,C:D,2,FALSE)),"",VLOOKUP(A3,C:D,2,FALSE))
其中“FALSE”表示必须完全匹配且数据不必排序。
将 INDEX 与 MATCH 结合使用:
F3 单元格包含索引/匹配公式
=IF(ISERROR(MATCH(A3,C:C,0)),"",INDEX(D:D,MATCH(A3,C:C,0)))
其中“0”表示必须完全匹配且数据不必排序。
INDEX/MATCH 更好!?
MATCH 函数查找找到的匹配项 的位置(如果使用整列,则为行号)。这种使用 INDEX 函数的方式(还有另一种方式)恰好使用此 found match 返回 ANY 中该位置(行)的单元格值指定的列范围(column)。所以它们是理想的组合。
使用 VLOOKUP 函数,您必须额外指定范围的列索引 (range_lookup),当列不相邻时(如本例),这可能会变得复杂。最重要的是,如果查找数据位于匹配数据的右侧,则该函数不起作用。
关于Excel VBA/Formula 查找包含搜索词的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53403180/