find匹配的行excel公式或vba

我有一个两个工作表和相同的格式在每个Excel文件。 我需要在表单中垂直search,并在另一个表上find匹配的行,并返回该行的单元格的值,但只有整行匹配。

我试过找不到确切的答案。 任何帮助表示赞赏。 谢谢!

不是很漂亮,但它适用于有限的数据集(在这种情况下,行1到10):

=INDEX(B!$I$1:$I$10,MATCH(A!A1&A!B1&A!C1&A!D1&A!E1&A!F1&A!G1&A!H1&A!I1,INDEX(B!$A$1:$A$10&B!$B$1:$B$10&B!$C$1:$C$10&B!$D$1:$D$10&B!$E$1:$E$10&B!$F$1:$F$10&B!$G$1:$G$10&B!$H$1:$H$10&B!$I$1:$I$10,0),0)) 

工作表A和B中的数据结构是相同的。 该公式返回表B中列I的值,其中列A到I中的值在两张表中都是相同的。

对于100行应该没问题,但是不要用整列引用来完成。

一个简单的方法是,在第三个表格中填充范围A1:I〜100:

  =IF(Sheet1!A1=Sheet2!A1,Sheet1!A1,"") 

和J1适合:

 =COUNTBLANK(A1:I1) 

过滤ColumnJ以select0并从这些行中select所需的值。

假设工作表名为Sheet1Sheet2 (根据需要更改) ,它们的数据结构是相同的,数据范围分别是A1:I100 (根据需要更改)

在第三张纸上,在A1input该FormulaArray ,并复制到最后一个logging( A100

inputFormulaArray同时按下 [Ctrl] + [Shift] + [Enter] 如果input正确 ,你会 在公式周围 看到 {}

 =SUM( ( Sheet1!$A1:$I1 = Sheet2!$A$1:$I$100 ) * 1 ) = COLUMNS( $A1:$I1 ) 

然后在B1input该公式复制到J1然后直到最后一个logging( B2:J100

 =IF( $A1 , Sheet1!A1 ,"" ) 

您也可以在Sheet1!J1input该公式并复制到最后一个logging:

 =SUM( ( $A1:$I1 = Sheet2!$A$1:$I$100 ) * 1 ) = COLUMNS( $A1:$I1 ) 

或者在Sheet2!J1input该公式并复制到最后一个logging:

 =SUM( ( $A1:$I1 = Sheet1!$A$1:$I$100 ) * 1 ) = COLUMNS( $A1:$I1 )