查找A列中的值是否包含B列的值?

时间:2012-07-03 16:52:04

标签: excel vba excel-vba excel-2007

我有两个列 - 列E扩展到99504(值),列I扩展到2691(值)。列中包含带扩展名的文件名。

像这样的东西

E               I
TSL_groups.mrk  pcbx_report.mrk
abcd.mrk        jhuo.mrk

依旧......

我想查找列E中的文件(标题Filename_B)是否存在于E列(标题Filename_A)中。如果为true,则在新列中显示为TRUE,假设为K列。

我该怎么做? TIA。

3 个答案:

答案 0 :(得分:57)

你可以试试这个

=IF(ISNA(VLOOKUP(<single column I value>,<entire column E range>,1,FALSE)),FALSE, TRUE)

-OR -

=IF(ISNA(VLOOKUP(<single column I value>,<entire column E range>,1,FALSE)),"FALSE", "File found in row "   & MATCH(<single column I value>,<entire column E range>,0))

您可以使用命名范围替换<single column I value><entire column E range>。这可能是最简单的。

只需将该公式拖动到您想要的任何列中的I列的长度。

答案 1 :(得分:42)

您可以使用VLOOKUP,但这需要包装函数来返回TrueFalse。更不用说它(相对)缓慢。请改用COUNTIF或MATCH。

在第I列现有值旁边的第K列中填写此公式(从I1I2691):

=COUNTIF(<entire column E range>,<single column I value>)>0
=COUNTIF($E$1:$E$99504,$I1)>0

您也可以使用MATCH:

=NOT(ISNA(MATCH(<single column I value>,<entire column E range>)))
=NOT(ISNA(MATCH($I1,$E$1:$E$99504,0)))

答案 2 :(得分:6)

你可以试试这个。 :)简单的解决方案!

=IF(ISNUMBER(MATCH(I1,E:E,0)),"TRUE","")