首页 > 解决方案 > 将excel中单词列表中的每个单词与单词列表进行比较 - Java,VBA,Excel

问题描述

我在excel中有一个单元格,其中包含几个单词,用逗号分隔;例如。 单元格 A1 = {你好,你好,你好,今天}

然后我有另一个单元格,其中也包含几个单词,请参见以下示例

单元格 B3 = {你好,我,我,做,好,}

现在我想看看 B3 是否包含 A1 中的任何单词。所以我需要将列表元素相互比较。

这里两个单元格包含的单词是:A1 = B3 = {hello, you} 如果至少有一个单词匹配,则打印 1,否则打印 0。

您对如何解决这个问题有什么建议吗?使用 Excel 函数或 Java 都会很好。但感谢任何让我开始的建议或想法。

注意:A 和 B 的列表可能很长。因此手动操作是行不通的

标签: javaexcelmatchingstring-comparisonfuzzy-comparison

解决方案


所以我确实找到了一个解决方案,虽然基于一个excel公式......

所以首先我分解了单元格 A1 中的单词并从中制作了一个参考表。所以每个单词都在一个单元格中。

然后我必须将基础数据转换为标准格式,以便我可以将数据与现有的参考表相匹配,例如。如果碰巧有一个单词是由两个单词组成的(例如application performance --> applicationperformance),请删除不必要的空格。我对 B 的参考表和单元格中的所有单词都这样做了。

在 Cell BI 中,每个单词后插入一个空格。因此,包含元素查找 ex 像这样 Cell B6 = {Analytics , ArtificialIntelligence , BigData , Drones , Insurance , InsurTech , Software } 你会看到单词和逗号之间总是有一个空格,并且在像 Software 这样的单词之后。并且由两个(或更多)单词组成的术语被连接起来。

之后我可以使用公式

=IF(SUMPRODUCT( -- ISNUMBER(SEARCH($A$1:$A$10;$B6)))>0;1;0)

查找匹配项。

公式示例


推荐阅读