参考检查。查找,匹配,合并

时间:2017-03-09 05:39:42

标签: excel vba excel-vba

我将努力使这一点清楚易懂,这是我的第一个帖子和问题。我在包含文本和数字的单元格中有银行提要。在另一张表中,我有我的所有参考号,我要求人们在付款时添加,然后显示在所提到的单元格的银行供稿中(并非所有时间)。我正在尝试使用vba或公式来执行以下操作:

公式解释:查看参考列(1000+单元格),然后查看银行Feed列,如果包含类似的参考编号或精确=参考编号

BANK FEEDS COLUMN

00025 LARRY AUS T

REF 00035 INTRO LTD

INV 00058 

REFERENCE00152TA

REFERENCE COLUMN

00025
00035
00058

RESULT

BANK FEEDS COLUMN            FORMULA RESULT COLUMNS

00025 LARRY AUS T            00025
REF 00035 INTRO LTD          00035
INV 00058                    00058
REFERENCE00152TA             NO FOUND

1 个答案:

答案 0 :(得分:0)

当然这是由VBA完成的,但也可以使用一些额外的细胞和配方。您需要的是findindirect + adressmatch等。示例表为here

enter image description here

公式可能看起来过于复杂,但需要以后进行更改或拖动填充。例如,即使在插入或删除某些列之后,下面的公式(C2)仍然可以工作。

=iferror(if(find(indirect("reference!"&address(column(C2)-column($C2)+1, 1)),$A2)>0, indirect("reference!"&address(column(C2)-column($C2)+1, 1)),))

如果'reference'相当小,并且不需要考虑列更改,则可以将列C硬编码到E这样的一行。然后拖动以填充其他行。

=iferror(if(find(reference!A$1, $A2)>0, reference!A$1))
=iferror(if(find(reference!A$2, $A2)>0, reference!A$2))
=iferror(if(find(reference!A$3, $A2)>0, reference!A$3))

当然,如果你使用'命名范围'公式可以更简单。 如果你想要VBA,也可以使用双for循环来完成。