【问题标题】:Reverse Index Match Keyword反向索引匹配关键字
【发布时间】:2017-05-03 14:49:38
【问题描述】:

我有一个很大的关键字电子表格,需要按它们的词根对它们进行分组。每个关键字都包含短语中的根词,并附有地理或其他词(例如,树移除波士顿,根词是树移除)。

我有一列包含 B 列中的所有关键字 (~30,000) 和 Z 列中 73 个根术语的列表。我想将 B 列中的关键字与 Z 列中的根术语进行比较并返回根术语进入 C 列。

我尝试了一些数组公式、索引/匹配、vlookup 等,但均无济于事。

【问题讨论】:

  • 您可以使用Instr() 函数。但是,您必须循环遍历所有 73 个词根,或者使用 73 个辅助列来确定词根是否在字符串中。调用 30K * 73 instr 公式将对您的应用程序造成巨大负担。在这种情况下,VBA 解决方案将是最好的。这是instr()techonthenet.com/excel/formulas/instr.php的一些信息
  • 不完全是一个“重复”的问题,但这个问题的答案具有我认为您需要的功能? stackoverflow.com/questions/8313919/…

标签: excel excel-formula keyword


【解决方案1】:

如果所有“根词”都是“关键字”中的第一个词,那么下面的内容将为您匹配。我假设你的关键字列表从 B1 单元格开始,这个公式将被输入到单元格 C1 中。

{=INDEX($Z$1:$Z$73,MATCH(1,SEARCH($Z$1:$Z$73,B1,1),0))}

这是一个数组公式,所以需要输入Shift + Ctrl + Enter。如果词根的位置不是第一个词,我需要再考虑一下。

【讨论】:

  • 谢谢 - 我会试试 - 在所有情况下,根词都是第一个词。
  • 乐于助人。如果它确实回答了您的问题,请接受此答案。
【解决方案2】:

您可以在 C1 中使用以下内容:

=INDEX($Z$1:$Z$73,MAX(IF(ISERROR(FIND($Z$1:$Z$73,B1)),-1,1)*ROW($Z$1:$Z$73)))  

数组公式同时按Ctrl+Shift+Enter
根的位置在哪里都会找到它

【讨论】:

    猜你喜欢
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多