Vba 用于比较两个工作表中的值的公式

Vba 用于比较两个工作表中的值的公式,vba,excel,Vba,Excel,有人能帮我吗?我想要一个公式,用于下面的场景 我有第1页,其中我有 A B C NAME TYPE VALUE lock_name_space 2 processes 3 200 sessions 3 324 timed_statistics 1 TRUE 在第二张纸上我有 A B C NAME

有人能帮我吗?我想要一个公式,用于下面的场景

我有第1页,其中我有

  A                 B     C
NAME              TYPE  VALUE
lock_name_space    2    
processes          3     200
sessions           3     324
timed_statistics   1     TRUE
在第二张纸上我有

  A                B         C
NAME             TYPE      VALUE
processes         3        200
sessions          3        324
timed_statistics  1       FALSE
我想要一个公式来比较表1的a和表2的a,如果它出现在a的表2中,那么检查它的值(即C列)是否相同,如果相同,则返回TRUE,否则返回FALSE 在表1中,我对统计数据进行了计时,在表2中,我对统计数据进行了计时
在表1中,我有lock_name_space,而在表2中,我没有lock_name_space

可以将单元格中的函数写入“表1”中的每一行(假设这将放置在第2行)-

或者如果您想将错误值也保留为false,那么

=IFERROR(IF(B2=VLOOKUP(A2;Sheet2!A:C;2;FALSE);TRUE;FALSE);FALSE)

之后,如果您想检查所有参数是否为真,您可以使用=和()和=或()函数,具体取决于您想要的结果(在您的例子中,假定为=和())

第1页D列中的公式如何:

=IFERROR(INDEX(Sheet2!C:C;MATCH(A2;Sheet2!A:A;0))=C2;"not on sheet 2")
上面的公式放在第2行,你必须把它抄下来


请注意,这仅适用于Excel 2010及更高版本,因为它使用了IFERROR。如果您有以前版本的Excel,则必须将其分解为If语句和iError。

此问题似乎与VBA无关,可以使用Excel内置函数实现结果。请检查您的标签。
=IFERROR(INDEX(Sheet2!C:C;MATCH(A2;Sheet2!A:A;0))=C2;"not on sheet 2")