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所需的值。
假设工作表名为Sheet1
和Sheet2
(根据需要更改) ,它们的数据结构是相同的,数据范围分别是A1:I100
(根据需要更改) 。
在第三张纸上,在A1
input该FormulaArray
,并复制到最后一个logging( A100
)
inputFormulaArray同时按下 [Ctrl]
+ [Shift]
+ [Enter]
, 如果input正确 ,你会 在公式周围 看到 {
… }
=SUM( ( Sheet1!$A1:$I1 = Sheet2!$A$1:$I$100 ) * 1 ) = COLUMNS( $A1:$I1 )
然后在B1
input该公式复制到J1
然后直到最后一个logging( B2:J100
)
=IF( $A1 , Sheet1!A1 ,"" )
您也可以在Sheet1!J1
input该公式并复制到最后一个logging:
=SUM( ( $A1:$I1 = Sheet2!$A$1:$I$100 ) * 1 ) = COLUMNS( $A1:$I1 )
或者在Sheet2!J1
input该公式并复制到最后一个logging:
=SUM( ( $A1:$I1 = Sheet1!$A$1:$I$100 ) * 1 ) = COLUMNS( $A1:$I1 )