如何解决如何在文本“精确”或“关闭”与另一个Google工作表中的文本匹配的另一列中返回值
我有两列要与其他两列进行比较,并在第三列中返回值。挑战在于,我需要返回一个完全匹配的WHERE,否则,如果匹配只是一个单词,则返回最接近的匹配,甚至返回。因此,我正在查看一个公式,该公式可能会查看字符串和单词的顺序,甚至可能是文本不完全匹配的地方。
这是我尝试过的方法,但显然无法完成工作。
=ARRAYFORMULA(VLOOKUP(F:F&"*",B:C,2,FALSE))
指向电子表格的链接为https://docs.google.com/spreadsheets/d/1sgjFuZItDWW7R1QINKgeSWP2-vvRmkQ2DfwcGXTpfn0/edit?usp=sharing
感谢您的光临。
解决方法
我想我已经很接近您的要求了。我确实使用了两个单独的公式,因为我不确定哪个公式更接近您要查找的公式,因此我将同时解释这两个公式。
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&"*",iferror(arrayformula(vlookup("*"&J$2:J$16&"*","x"))),"what")
首先,我不得不使用=SPLIT()
将名称拆分为单独的单元格。从那里,我将名字优先于姓氏(如果名字匹配,则抓取,否则,如果名字匹配,则抓取,依此类推)。如果公式未找到任何匹配的名称,则返回“ x”。如果公式返回“ what”,则说明有问题。
2:
=if(arrayformula(if(B2:B16=F2:F16,iferror(arrayformula(vlookup(E$2:E$16,$A$2:$C$15,3,"x")))),"what")
对于第二个公式,除了在结尾处,我基本上做了相同的事情,如果找不到任何匹配的名称,则会匹配国家/地区。
在字符串的开头和结尾使用*可以用作通配符this page probably explains it better than I could.
我总是无法使它返回一个可用的完全匹配项,否则将返回最接近的匹配项。这可能是我所缺少的简单解决方案,但无论如何我还是觉得很接近。如果您想在名称内找到更多的名称(例如,Egbertrosa内的Egbert),则需要用单个字母将名称分开,这可能会造成混乱。
我确实看到我的某些公式返回的值与期望值不同,所以我将继续研究该问题是否可以解决。
这是我电子表格的链接,因为我确实需要为名称拆分添加4列,因此结构与您当前的名称略有不同。 https://docs.google.com/spreadsheets/d/10iMMs1lkJv5QCG2rtJT1BlxVjl79VUZQIoYbelR1gtI/edit?usp=sharing
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。