【问题标题】:Partial Vlookup not finding value on Google Sheets部分 Vlookup 在 Google 表格上找不到价值
【发布时间】:2022-01-14 21:24:39
【问题描述】:

我在 Google 表格上尝试了一个非常简单的带有部分匹配的 VLookup(使用通配符),但由于某种原因,我似乎无法完成这项工作。我的公式很简单:

=VLOOKUP("*"&A2&"*",$D:$E,2,0)

D:E 是我的查找表,A2 是要部分搜索的单元格。我正在搜索“John J”这个词,而在我的查找表中我有 ID 为 1 的“John”。所以我上面的 VLOOKUP 应该返回 1。

Here 是有问题的 Google 电子表格。知道可能是什么问题吗?

【问题讨论】:

  • 通配符不会从搜索键中排除单元格 A2 的一部分。它们仅允许在搜索键中添加其他字符,并且将返回查找范围内满足扩展条件的任何值。因此,例如,查找范围中的“John J190”将是有效匹配。您的工作表中的这种行为是故意的吗?
  • 哦。我明白你的意思,我完全误解了什么是“部分搜索”。搜索与我的想法相反。所以我要找的词应该完全在查找表上,但也许查找表可以有更多的字符。就像你举的例子。很明显!谢谢

标签: regex google-sheets google-sheets-formula vlookup textjoin


【解决方案1】:

你需要这样做:

=INDEX(IFNA(VLOOKUP(REGEXEXTRACT(A2:A5, TEXTJOIN("|", 1, D2:D)), D:E, 2, 0)))

【讨论】:

  • 但是当你寻找“哦”时它不起作用,它给出一个空白值,而不是返回 John。
  • @DavidSalomon ofc 它不会起作用,除非你在 D 列中有“哦”(并且在 E 列中有它的值)
  • 我知道,但我提到了它,因为通过使用 ` ""&A2&"" ` 它可以工作
  • 对 DavidSalomon,但@player0 的答案实际上是我想要的,我不太清楚我真正想要做什么。我想要的正是提案正在做的事情:通过搜索一个非常详细的字符串,例如“John J”或“J John”或“Alisson John J”甚至“Johnson”,我想搜索一个通用的像“John”这样的名字会匹配那个搜索并返回它的 id。
  • @player0 我认为您的公式不需要从 A2:A5 开始,对吗?我猜应该只有A2。而且我也不认为您需要公式的 INDEX() 部分正确吗?但无论如何我明白了你的想法,这是一个很好的方法。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多