如果两个范围的文本string匹配,则显示值

我在Excel中有两个工作表。 一个包含排名:

在这里输入图像说明

另一场比赛(每天更新自动)

在这里输入图像说明

目的是在比赛旁边的两列中显示各个队伍的等级。 其中一个问题是文本string不完全匹配(webquery的限制)。

所以我需要find一个公式,当Rankings中有一个表格的string匹配队伍中的指定单元格然后在它旁边显示Rank(排名第1列​​)。

到目前为止,我已经在排名应该去的单元格中得到这个。

=VLOOKUP("*"&qry!B5&"*";Sheet1!A3:C369;1;0) 

但是它只是从Rankings的表头中得到了string“rank”。

有任何想法吗?

几件事情:

  • Vlookup将尝试在查找表的第一列中find匹配项,并可以从右侧的列中返回值。 您的查找表在第一列中具有所需的返回值,在第二列中具有所需的查找值。 因此,Vlookup在这种情况下不起作用。 不过,您可以使用索引和匹配的组合。

  • 查找值之前和之后的*通配符表示查找表中的值可以在已经存在于查找值中的文本之前和之后具有任何文本。 在你的情况下,查找值比查找表中的文本更多的文本。 所以通配符没有帮助。 例如:你有“353弗吉尼亚”,你想在只有“弗吉尼亚”的列中find这个。 在通配符中包裹“353弗吉尼亚”将不会增加任何价值,因为您要匹配的文本实际上比您刚开始使用的文本短。 您需要从查找值中删除东西,而不是添加通配符。

如果排名数据来自networking查询,则需要执行一些工作来清理数据,因此适合查找其他表格。

除了开头的数字之外,在一些单元格的末尾还有两个字符是我无法识别的。 在查找之前,这些也需要被删除。

假设所有的单元格都包含三位数字和一个空格,则可以使用公式方法

 =TRIM(MID(SUBSTITUTE(B5;" @#";"");5;99)) 

替代将删除尾随的字符。 我不知道它们到底是什么,有些networking相关的特殊字符,所以在这里我用@#代替了A和V形。 将networking字符从一个单元格复制并粘贴到公式中。 随着数据来自networking,你可能还想检查前后空白,不间断的空格字符和其他不可见的字符。

您可以使用“清理”公式作为查找的基础,或者,如果上面的公式充分清理数据,那么你可以在像这样的索引/匹配组合中使用它:

 =index(Sheet1!$A$3:$A$369,match(TRIM(MID(SUBSTITUTE(B5;" @#";"");5;99));Sheet1!$B$3:$B$369;0)) 

没有看到电子表格中的实际数据,很难判断公式清理是否足够。 您可能需要做更多的工作,直到查找返回所需的值。

如果数据来自networking,我强烈build议您将Power Query作为一种工具,将数据从networking上传到电子表格中。 Power Query是Excel 2010和2013的免费插件,作为“获取和转换”内置于Excl 2016中。 它可以连接到许多数据源,包括网页上的表格,并且具有非常强大的机制来清理数据以供进一步处理。 Power Query设置完成并运行后,只需刷新查询即可从网站加载新数据。