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

标签 excel vba excel-formula

我不确定如何真正提出问题... 但我遇到的问题是:我有一个与监管文件相关的列表(按行排列),在尝试创建某种 for 循环或精心设计的 VLookUp/Index 公式后,我请求帮助。 例如:

Excel Rows

现在我想使用行来查找文档中的相应部分。我已经提取并格式化了合规性文档,所以它是 excel 格式。

所以我真正需要的是:一个公式或 VBA 脚本,可以 1. 获取合规编号(例如单元格 A3 中的 1A-1)并找到一个单元格(在单列 D 中)只有 1A-1,而不是 1A-1.1,不是 1A-1.1.2,等等。并将其返回到相邻的单元格,例如 1A-1。

提前非常感谢...我迷路了!! :/

最佳答案

VLOOKUP 与索引/匹配

enter image description here

您可以通过两种方式进行“查找”(据我所知):

使用VLOOKUP:

B3 单元格包含您的公式

=IF(ISERROR(VLOOKUP(A3,C:D,2,FALSE)),"",VLOOKUP(A3,C:D,2,FALSE))

其中“FALSE”表示必须完全匹配且数据不必排序。

INDEXMATCH 结合使用:

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),当列不相邻时(如本例),这可能会变得复杂。最重要的是,如果查找数据位于匹配数据的右侧,则该函数不起作用。

enter image description hereVLOOKUP NOT WORKING! INDEX/MATCH STILL WORKING!

关于Excel VBA/Formula 查找包含搜索词的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53403180/

相关文章:

excel - 如何自动隐藏功能区,但仅适用于特定工作簿且仅适用于该工作簿中的一个工作表

ms-access - 在 MS Access 中记录错误和警告的方法

Excel公式提取特定记录

vb.net - 检查excel范围是否为空

excel - 如何迭代两列的范围并在每一步选择一行中的两列?

excel - 使用 Active.cell.column 和行范围的 VBA 范围

excel - 从右到左匹配不起作用

excel - MsgBox 中的 if 语句

excel - 带有或的平均值

python - pandas.read_excel() 输出 OverflowError : Python int too large to convert to C int