与行函数/ vba的Excel行比较

时间:2010-08-18 18:11:37

标签: excel vba excel-vba excel-formula

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

Table 1
A B
x t1
x t2
x t3
x t4

Table 2

A B  C  D  E
x t1 t2 t3 t4

我可以在带有函数或VBA的Excel中执行此操作吗

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,有一些想法可能会引导你朝着正确的方向前进:

  • 如果您只想“翻转”两个表中的一个表中的数据,以便直接比较表,只需执行CopyPaste Special,然后选中“转置”按钮。如果您想使用VBA执行此操作,只需将其记录为宏并查看它记录的内容。
  • 如果您想使用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

答案 1 :(得分:0)

如果在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。