【问题标题】:How to return value in another column where a text 'exact' or 'close' matches text in another google sheets如何在文本“精确”或“关闭”与另一个谷歌表格中的文本匹配的另一列中返回值
【发布时间】:2020-08-11 06:23:53
【问题描述】:

我有两列要与另外两列进行比较,并在第三列中返回值。挑战在于我需要返回一个完全匹配的 WHERE 可用,否则即使匹配只是一个单词,也返回最接近的匹配。因此,我正在查看一个公式,该公式可能会查看字符串和单词的顺序,可能文本不完全匹配。

这是我尝试过的,但显然没有完成工作。

=ARRAYFORMULA(VLOOKUP(F:F&"*",B:C,2,FALSE))

我的电子表格的链接是https://docs.google.com/spreadsheets/d/1sgjFuZItDWW7R1QINKgeSWP2-vvRmkQ2DfwcGXTpfn0/edit?usp=sharing

感谢观看。

【问题讨论】:

  • 你能解释一下为什么你期望Kenya Young EgbertKenya Anne Egbertrosa上输出而不是Singapore Cyndy GadisonSingapore Rosa Weis Gadison上的输出吗?从逻辑上讲,它没有任何意义,因为两者都是部分匹配,不管第二个也有完全匹配
  • 根据我的理解(如果我错了,请纠正我),如果有完全匹配,那么你从 C 中取值,否则你取部分匹配。 Anne Egbertosa 没有完全匹配,但 Cyndy Gadison 有一个完全匹配,因此它忽略了 Roda Weis Gadison。
  • 我基本上确保此人来自上述国家。那么名称就是完全匹配或接近。

标签: google-sheets


【解决方案1】:

我想我已经非常接近你要找的东西了。我确实使用了两个单独的公式,因为我不确定哪个更接近您正在寻找的内容,所以我会解释两者。

1:

=if(arrayformula(if(B2:B16=F2:F16, "true", "false"))="false", 
iferror(arrayformula(vlookup("*"&G$2:G$16&"*", $B$2:$C$15, 2, false)),
iferror(arrayformula(vlookup("*"&H$2:H$16&"*", $B$2:$C$15, 2, false)),
iferror(arrayformula(vlookup("*"&J$2:J$16&"*", $B$2:$C$15, 2, false)), "x"))), "what")

首先,我必须使用=SPLIT() 将名称拆分为单独的单元格。从那里,我优先考虑名字到姓氏(如果名字匹配,抓住那个,否则如果第二个名字匹配,抓住那个,等等)。如果公式未找到任何名称匹配项,则返回“x”。如果公式曾经返回“what”,则说明有问题。

2:

=if(arrayformula(if(B2:B16=F2:F16, "true", "false"))="false", 
iferror(arrayformula(vlookup("*"&G$2:G$16&"*", $B$2:$C$15, 2, false)),
iferror(arrayformula(vlookup("*"&H$2:H$16&"*", $B$2:$C$15, 2, false)),
iferror(arrayformula(vlookup("*"&J$2:J$16&"*", $B$2:$C$15, 2, false)), 
iferror(arrayformula(vlookup(E$2:E$16, $A$2:$C$15, 3, false)), "x")))), "what")

对于第二个公式,我基本上做了同样的事情,除了在它的末尾,如果它没有找到任何名称匹配,它就会匹配国家。

在字符串的开头和结尾使用 * 作为通配符,this page probably explains it better than I could.

不幸的是,我无法让它在可用的情况下返回精确匹配,否则返回最接近的匹配。这可能是我缺少的一个简单的解决方案,但我认为我已经非常接近了。如果您想在名称中查找名称(即 Egbertrosa 中的 Egbert),则需要将名称按单个字母拆分,这可能会变得混乱。

我确实看到我的某些公式返回的值与预期值不同,因此我将继续努力,看看是否可以修复它。

这是我的电子表格的链接,因为我确实需要为名称拆分添加 4 列,因此结构与您当前的结构略有不同。 https://docs.google.com/spreadsheets/d/10iMMs1lkJv5QCG2rtJT1BlxVjl79VUZQIoYbelR1gtI/edit?usp=sharing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多