尝试解决VBA /宏或Excel功能的问题,但没有运气。
我有3张纸:
Source
Detail Listing
Final
在我的 Source
表格中,我有一个唯一编号列表
A
-------
111
222
333
444
在我的 Detail Listing
中,我有这样的数据:
A B C D
-----------------------------
333 dog fly 9
777 cat wasp 2
111 bird ladybug 8
在 Final
表格中,我希望详细信息列表表格中的所有行与源表格中的值匹配,如下所示:
A B C D
---------------------------------
333 dog fly 9
111 bird ladybug 8
我在工作表中尝试了Vlookup
,但这只给了我一次单元格结果。如果找到匹配,我需要整行。
答案 0 :(得分:0)
而不是尝试在详细列表中查找源代码中的值,我建议尝试反向操作,在detail_listing上运行for循环,对于范围A:A中的每个值,在您的vlookup中查找它source,如果你得到一个匹配,复制for循环中的当前行,否则只是继续下一个单元格。
答案 1 :(得分:0)
为了解决我的问题,我采用了另一种方式,就像Avishay Cohen所说的那样。我在详细信息列表工作表中添加了一个附加列,其中包含此单元格的公式:
=IF(ISNUMBER(MATCH(A2,Source!A:A,0)),"MATCH", "NOT FOUND")
这将列出"匹配"如果我的详细信息列表工作表的A列与我的源工作表之间存在匹配项。然后我就过滤了" NOT FOUND"并将我的可见单元格复制到另一个工作表。
ISNUMBER
:检查值是否为数字 - 返回TRUE或FALSE
MATCH
:返回数组中与指定值匹配的项的相对位置。
我确定有很多方法可以解决这个问题,但这个方法适用于我的情况。