首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >证明人检查。找到,匹配,结合

证明人检查。找到,匹配,结合
EN

Stack Overflow用户
提问于 2017-03-09 05:39:41
回答 1查看 35关注 0票数 1

我将试图澄清和理解这一点,这是我的第一个帖子和问题。我在一个包含文本和数字的单元格中有银行提要。在另一张表格中,我有我要求人们在付款时添加的所有参考编号,然后显示在所提到的单元格的银行提要中(不是所有时间)。我正在尝试做一个vba或公式来完成以下操作:

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

银行提要列

代码语言:javascript
运行
复制
00025 LARRY AUS T

REF 00035 INTRO LTD

INV 00058 

REFERENCE00152TA

参考柱

代码语言:javascript
运行
复制
00025
00035
00058

结果

代码语言:javascript
运行
复制
BANK FEEDS COLUMN            FORMULA RESULT COLUMNS

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

回答 1

Stack Overflow用户

发布于 2017-03-09 07:00:35

当然,这是由VBA完成的,但也可以使用一些额外的单元格和公式。你需要的是findindirect + adressmatch等。样本表是这里

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

代码语言:javascript
运行
复制
=iferror(if(find(indirect("reference!"&address(column(C2)-column($C2)+1, 1)),$A2)>0, indirect("reference!"&address(column(C2)-column($C2)+1, 1)),))

如果“引用”相当小,并且不需要考虑列的更改,则可以将列C硬编码为E,这样就可以对一行进行编码。然后拖动以填充其他行。

代码语言:javascript
运行
复制
=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循环来完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42687591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档