【问题标题】:Check if one value in one column is in another column检查一列中的一个值是否在另一列中
【发布时间】:2014-01-30 12:21:39
【问题描述】:

我想检查Date2 column 中的日期是否与Date1 column 中的日期匹配,哪些日期不匹配。如您所见,前 25 行匹配,但最后有 10 行为空,这意味着这些值缺失。

我试过了:

=VLOOKUP(C2:C3020;B2:C3037;C2;TRUE)

但是,这只会让我返回 #REF!

是否有其他方法可以找出不匹配的日期?

感谢您的回答!

【问题讨论】:

    标签: excel csv excel-formula excel-2010


    【解决方案1】:

    您应该使用以下公式:

    =VLOOKUP(C2;$B$2:$B$3037;1;FALSE)
    

    只需将其写入D2 单元格并向下拉伸直到D3037。如果在B 列中找不到与C 列精确匹配的日期,则返回错误值#N/A

    要获得FOUNDNOT FOUND 值,您可以使用此公式的修改:

    =IF(ISERROR(VLOOKUP(C2;$B$2:$B$3037;1;FALSE));"NOT FOUND";"FOUND")
    

    【讨论】:

    • 非常感谢您的回答!对于ISERROR 函数,我得到you've entered too many arguments for this function。我不应该把它放在 if 中吗?
    • 应该是IFERROR()
    • @Cris,不准确。如果没有错误,则 IFERROR 返回值,即“未找到”以另一种方式。但我想返回“找到”和“未找到”(不是值)。但这也是合适的方式。
    • 除了你看起来没有手没有解释的方法之外,不仅如此,而且你使用分号而不是逗号..这似乎给出了一个错误,你需要逗号,或者,你是什么版本的 excel有或有什么设置使用分号将实际参数(参数)分隔到函数?
    • @barlop,它基于操作系统的区域设置;如果小数的分隔符是逗号,Excel 将分号作为参数分隔符
    【解决方案2】:
     =IFERROR(IF(VLOOKUP(B2,$A:$A,1,FALSE)=B2,"True"),"False")
    

    这可以在不指定 B 列的确切长度的情况下工作

    【讨论】:

      【解决方案3】:
      For instance, consider column values namely A and B
      
      A   B
      124 23
      244 544
      343 244
      243 124
      566 
      677 
      
      To check one value (124) in one column (B) is in another column (A)
      
      =IF(ISNA(VLOOKUP(A2, $B$2:$B$5, 1, FALSE)),"",VLOOKUP(A2,  $B$2:$B$5, 1, FALSE))
      
      A   B   C
      124 23  124
      244 544 244
      343 244
      243 124
      566 
      677     
      

      【讨论】:

      • 如果找到 B,则此结果实际上返回 A 的值。这非常有帮助,因为之后您可以复制结果列 (C) 并粘贴到另一列 (D) 和 PASTE SPECIAL - 粘贴价值观。然后,如果您转到 DATA > FILTER,您可以隐藏空白单元格并最终得到一列仅包含匹配值的列。
      • 另外,有关如何从列中选择所有值的信息,请参阅 S.De 的答案:使用 $B:$B 代替 $B2:$B5
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-12
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多