2012-07-16 75 views
0

我试图跟踪几张不同纸张中的ID,我希望能够给出一个标准的真实值和另一个标准的假。这是我想要完成的伪代码。检查单元值是否存在于另外两张纸上

IF sheet1.A1.value EXISTS AND DOES NOT EXIST IN sheet2.A:A OR sheet3.A:A 
THEN RETURN "true" 
ELSE RETURN "false" 

回答

1

你也可以只用一个Excel公式是这样做的:

=IF(AND(len('Sheet1'!A1)>0 , ISERROR(MATCH('Sheet1'!A1,'Sheet2'!A:A,0)), ISERROR(MATCH('Sheet1'!A1,'Sheet3'!A:A,0))) , "True", "False") 

此阅读次数:

  • 如果以下三个condiitons遇到,则为真,否则为假
  • 条件1:Sheet 1中的单元格A1存在
    • 检查是否在它的任何值的长度是大于0
  • 条件2:Sheet 1中的单元格A1不是在表2的列A
    • 润匹配式,以检查本
    • 如果匹配返回一个错误,然后将其在没有找到
  • 条件3
    • 运行匹配公式来检查这个
    • 如果匹配返回一个错误,那么就没有被发现
+0

我最终使用了几个Excel公式来实现这一点,但我无法弄清楚一个复杂的。我明天会看看,看看我能否实施你的例子,谢谢 – Jared 2012-07-16 20:27:29

1

试试这个

Sub Sample() 
    Dim SearchString As String 

    SearchString = "Blah" 

    If Application.WorksheetFunction.CountIf(Sheets("Sheet1").Columns(1), SearchString) > 0 And _ 
    Application.WorksheetFunction.CountIf(Sheets("Sheet2").Columns(1), SearchString) = 0 And _ 
    Application.WorksheetFunction.CountIf(Sheets("Sheet3").Columns(1), SearchString) = 0 Then 
     '~~> Display relevant message 
    Else 
     '~~> Display relevant message 
    End If 
End Sub 
+0

我会尝试做VBA但我在做什么,我认为Excel中公式会更好。我每次都必须复制新数据,并且像Excel公式一样,因为它们会自动更新,而不是每次都要运行一个宏 – Jared 2012-07-16 20:29:19

相关问题