首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vlookup一个Vlookup的结果

Vlookup一个Vlookup的结果
EN

Stack Overflow用户
提问于 2018-01-18 20:22:42
回答 1查看 103关注 0票数 1

在过去的一年里,我已经非常熟练地掌握了Excel,我已经做好了下一步的准备,并开始使用VBA。

我试图实现以下目标:我希望创建一个可以从不同数据源运行多个Vlookups的工具,并将所有数据合并成一个全面的概述。

  • 第一步:使用来自vlookup的数据在worksheet1中运行worksheet2
  • 第二步: worksheet1中由vlookup生成的结果,是使用不同工作表worksheet3的数据在第二个vlookup中使用的新引用数据。

现在,我尝试使用以下代码:

代码语言:javascript
复制
Dim i As Long, r As Long
r = 4
For i = 1 To 10000

On Error Resume Next

Cells(r, 9).Value = WorksheetFunction.VLookup(Cells(r, 7).Value, Sheets("SPdata").Range("A3:V30321"), 9, 0)
Cells(r, 11).Value = WorksheetFunction.VLookup(Cells(r, 7).Value, Sheets("SPdata").Range("A3:V30321"), 11, 0)
Cells(r, 10).Value = WorksheetFunction.VLookup(Cells(r, 9).Value, Sheets("CREBS").Range("C2:D300"), 2, 0)

  r = r + 1

如您所见,我尝试使用第三个vlookup中的Cells(r, 9)结果来匹配来自sheet CREBS的数据。我遇到的问题是,第三个vlookup不会产生任何结果。

此外,On Error Resume Next工作得很好,但我想用“不可用”来填补空白。

就像我说的,我对这件事很陌生。而且我的方法可能不是最有效的,但是如果有人能帮助我解决问题/或者建议一个更有效的代码,我将非常感激。

EN

回答 1

Stack Overflow用户

发布于 2018-01-18 20:38:30

有几件事:不要使用On Error Resume Next,因为它不仅是一种代码气味(也是一种刺鼻的),而且它还会跳过任何错误,否则会引起您对bug的注意。

第二,不要在一行上声明多个变量。仅仅因为你能,并不意味着你应该。

第三,你需要限定你的参考范围。

Cells(r, 9).Value实际上是ActiveSheet.Cells(r, 9).Value,如果代码运行时ActiveSheet发生了变化,会发生什么情况?

您正在尝试(低效率)使用VBA复制Excel中已经存在的内容。例如,打开一个工作簿并创建一个从起始行到最终行的表(在本例中似乎是4到1004 )。在那里输入最后的VLOOKUP公式。看看它是如何自动填充到最后一行的,还是为您提供了覆盖列中所有单元格的选项?这比在每一行中编写公式要快得多,要快得多,而且会工作得更好。

此外,由于所有这些数据都存在于其他工作表中,所以应该将这些数据放在表中,如果存在,则可以使用这些表名。例如,假设每个表的名称与每个工作表相同。您的VLOOKUP看起来类似于:

然后,为了覆盖错误,我们做了一个小小的修改:

=IfError(VLOOKUP([KeyColumn], SPData, Column(SPData[TheDataYouWant]), False), "No Results")

相信我,学习如何有效地完成first将帮助您更好地掌握Excel。

然后,您需要的是三个表(注意我是如何说3,提示,提示),其中第一个表有要计算的数据,第二个表用该数据在第一列中创建一个键,第三个表将查找该数据。然后,您所需要做的就是将原始数据粘贴到您的第一个表中,然后填充您感兴趣的第三个表的键,并查看!

另外,如果您错过了它,您的第三个VLOOKUP将尝试根据第二个VLOOKUP使用的相同键查找a键,因为VLOOKUP需要一个范围中的最左边值作为查找的键。如果你不能做到这一点,无论出于什么原因,首先要学习INDEX/MATCH

并且,除非无法合理地解决问题,否则请避免使用

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

https://stackoverflow.com/questions/48329699

复制
相关文章

相似问题

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