【问题标题】:Find if value in column A contains value from column B?查找A列中的值是否包含B列中的值?
【发布时间】:2012-07-04 03:48:38
【问题描述】:

我有两列 - 列 E 延伸到 99504(值)和列 I 延伸到 2691(值)。这两列都包含带扩展名的文件名。

类似的东西

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

等等……

我想查找 I 列(标题 Filename_B)中的文件是否存在于 E 列(标题 Filename_A)中。如果为真,则在新列中说 TRUE,让我们说 K 列。

我该怎么做? TIA。

【问题讨论】:

  • 使用 Vlookup 公式。检查 Excel 帮助:)

标签: vba excel excel-2007


【解决方案1】:

你可以试试这个

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

-或-

=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))

您可以将&lt;single column I value&gt;&lt;entire column E range&gt; 替换为命名范围。那可能是最简单的。

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

【讨论】:

    【解决方案2】:

    您可以使用 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)))
    

    【讨论】:

    • 也 +1。请注意,由于 MATCH 返回一个数字或一个错误,而不是使用 ISNA,您可以简单地使用 ISNUMBER(甚至 COUNT 将返回 1/0 结果)
    • @barryhoudini 好点,有几种不同的公式组合可以工作。
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-09-04
      • 1970-01-01
      • 2017-06-05
      • 2019-05-10
      • 1970-01-01
      • 2019-06-13
      • 2017-09-19
      • 1970-01-01
      • 2010-12-03
      相关资源
      最近更新 更多