在电子表格中,想要查找一系列单元格中的文本值是否出现在包含长文本字符串

时间:2017-05-12 13:01:02

标签: excel excel-formula

我在网上花了几个小时试图找到解决方案而没有任何快乐。

基本上我将银行对帐单下载到电子表格中。我想通过搜索其文本并查看它是否与我手动添加的一系列关键字相匹配来对每项支出进行分类。

例如,A栏包含我的所有费用,让我们说单元格A1是" TESCO PS5于5月4日"

我在另一列中设置了一系列自己的文本单元格,例如: C3:MARKS C4:咖啡 C5:TESCO C6:GREENS

D列包含以下C列的类别: D3:食物 D4:喝 D5:食物 D6:好玩

因此,在A1的这个示例中,我想向单元格B1添加一个公式,该公式将搜索单元格C3到C6并找到A1中包含的单元格。然后它返回D列中的相应值。

所以在这个例子中,B1中的公式将搜索A1," TESCO PS5于5月4日"并确定C5中的价值" TESCO"包含在A1中。然后它返回D5中的相关值," Food"

因此,我能够在5月4日对TESCO PS5进行分类" as" Food"

如果我使用类似匹配的东西,它似乎与我想要的相反。它允许我在一系列字符串中搜索一个字符串。我想要相反的。我想搜索一系列字符串是否在一个字符串中并标识匹配的字符串。

*************** !!!!!!!! EDIT !!!!!! **************** < / p>

找到解决方案。在这里添加它,因为在使用注释进行格式化方面存在问题。

所以我用这个:

= IFERROR(ARRAYFORMULA(INDIRECT(&#34; d&#34;和2 + MATCH(TRUE,ISNUMBER(SEARCH($ C $ 3:$ C $ 6,$ A1)),0))))

搜索:我希望在单个单元格中找到的文本的搜索范围,后跟我要搜索的单个单元格。结果是错误或匹配搜索的索引。

ArrayFormula:这允许SEARCH以相反的方式工作,几乎每个我发现它应该被使用的例子。而不是提供搜索词和搜索范围,而是提供一系列搜索词,并指定一个单个单元格匹配。 ArrayForumla允许输出多个结果。它会在电子表格中将这些结果一个接一个地打印出来。我实际上并不想要,但我可以使用以下两个函数来过滤掉不需要的结果:

ISNUMBER:只需确定您的搜索结果是有效匹配。返回一个int。

匹配:这允许我们过滤掉所有非结果。如果没有这个,电子表格将在使用ArrayForumla时填写无用数据的多个单元格。使用Match我们只需要保留一个重要的匹配结果,即匹配的文本字段的索引,它包含在我们搜索的单元格中。

INDIRECT:允许我们构建单元格索引,以便我们可以引用相应的类别单元格数据。

IFERROR:只是确保电子表格不会显示它找不到解决方案的单元格的错误。

1 个答案:

答案 0 :(得分:0)

在B1中写=VLOOKUP(A1, C3:D6, 2, TRUE)

您需要确保C3:D6按C列的升序排序。

Info on VLOOKUP