Vlookup从一个工作簿到另一个工作簿的某些标准

时间:2017-02-01 14:58:18

标签: excel vba excel-vba

我一直在绞尽脑汁,因为我擅长excel。我有两本工作簿。一个工作簿(调查工作簿)包含一列我需要在另一个工作簿(票证工作簿)中找到的特定数字。票证工作簿是一个包含多个列的大型数据集,对我没用。我从故障单工作簿中需要的是两列。我正在搜索的数字有一个与之关联的列,我也需要拉。因此,我需要在故障单工作簿中搜索这些确切的数字,并将这些数字与我需要的一个相关列一起返回。如果可能的话,我想用VBA自动完成这个过程。

我使用了ctrl + shift + end来选择整个表格并将其命名为数据。

我在故障单工作簿中创建了两个额外的列,标记为ticket(包含标题下我需要的数字)和驱动程序(对于我在工作簿中需要的其他列)。

这是我的代码: = VLOOKUP(Q5,数据,12,FALSE)

Q5包含我在工作簿中尝试查找的第一个数字。 12是我需要与我在工作簿中搜索的数字相关联的列。该公式以#N / A的形式返回。

我尝试使用索引和匹配功能,但我仍然得到#N / A.

我的代码: = INDEX(Tick_Nums,MATCH($ A2,Tick_Drivs,0),COLUMNS('Report 1'!C5))

2 个答案:

答案 0 :(得分:1)

我完全同意Rdster的评论。也就是说,你不需要VBA。您正在寻找MATCHINDEX。您只想在故障单工作簿中MATCH number ,并将该输出用作所需数据的INDEX的输入。如果你有问题,祝你好运并编辑你的帖子(但请在下次提供一些失败的公式)。

答案 1 :(得分:0)

感谢所有花时间提供帮助的人。我用这段代码想出来了:

=VLOOKUP(A15,'Report 1'!C:M,11,FALSE)

这里的关键是将这些数字从文本转换为数字。 Excel最初并没有将它们识别为数字,但是一旦我这样做它就起作用了。