匹配列并将空白单元格视为匹配

问题描述 投票:0回答:1

如果我想将工作表 1 中的 a2 至 e2 列与工作表 2 中的 a 至 e 列的任何行进行匹配,请告知公式。工作表 2 中的列中有空格,我想将它们视为匹配并返回列 j 。 Vba 解决方案将是理想的,因为有超过 10000 行,但如果有公式可以使用,我可以尝试将其转换为 VBA。谢谢!

我只能想出通常的公式

=IF(A2&B2&C2&D2&E2=Sheet2!A:E, Sheet2!("J",""))

但这不适用于空白,也不会查找整个工作表 2 来查找匹配项。

arrays excel vba excel-formula match
1个回答
0
投票

这是G1中的(数组)公式,向下拖动
Sheet2 上的空单元格被处理为

identical

=IFERROR(INDEX(Sheet2!$J$1:$J$4,MATCH(CONCATENATE(A1,B1,C1,D1,E1),  
CONCATENATE(IF(Sheet2!$A$1:$A$4="",A1,Sheet2!$A$1:$A$4), 
IF(Sheet2!$B$1:$B$4="",B1,Sheet2!$B$1:$B$4),IF(Sheet2!$C$1:$C$4="",C1,Sheet2!$C$1:$C$4), 
IF(Sheet2!$D$1:$D$4="",D1,Sheet2!$D$1:$D$4), 
IF(Sheet2!$E$1:$E$4="",E1,Sheet2!$E$1:$E$4)),0)),"")

enter image description here

使用VBA,您可以将此公式作为数组公式分配到所需的范围

© www.soinside.com 2019 - 2024. All rights reserved.