Excel行比较列函数/ vba

问题:我有看起来像这样的数据,我想比较行的列值。 (Table1.t1 = Table2.t1)? 之类的事情。

Table 1 AB x t1 x t2 x t3 x t4 Table 2 ABCDE x t1 t2 t3 t4 

我可以在Excel中使用函数或VBA来做到这一点

如果在A1:B8,你有

 x t1 x t2 x t3 x t4 y u1 y u2 y u3 y u4 

在A11:E12中,你有

 x t1 t2 t3 t4 y u1 u2 u3 u4 

然后把这个公式写入C1并填写

 =B1=OFFSET(INDEX($A$11:$A$12,MATCH(A1,$A$11:$A$12,FALSE),1),0,COUNTIF($A$1:A1,A1),1,1) 

如果数据匹配,它将返回TRUE,否则返回FALSE。

如果我理解你的问题,有一些想法可能会使你朝着正确的方向发展:

  • 如果您只想“翻转”其中一个表格中的数据,以便您可以直接比较表格,只需执行CopyPaste Special ,然后选中“移调”button即可。 如果你想用VBA做到这一点,只需将其logging为一个macros,并看看它logging。
  • 如果你想使用VBA,我认为使用Cells(row#,col#)而不是Range()是关键。

所以我们假设你的两个表格在B10:B20(垂直)和C2:L2(水平)。 循环比较他们可能看起来像这样:

 Sub CompareFlippedTables Dim i as integer For i = 1 to 10 If Cells(i + 10,2).Value = Cells(2, i + 3).Value Then 'Do something useful' End If Next i End Sub