【问题标题】:Pull data using VBA, Vlookup or Index Matching使用 VBA、Vlookup 或索引匹配提取数据
【发布时间】:2016-03-15 04:08:45
【问题描述】:

这是我的问题。我尝试使用 Vlookup 并收到 #NA,然后我尝试使用索引匹配,但公式中断并且返回并不全部存在。我在公式的列中收到一些 0 和一些 #REF!。

这就是我想要做的。我有 2 个工作表的工作簿。第一个名为“巴西”的工作表是我在 D 列中编写公式的地方。 现在,我要做的是匹配来自工作表“巴西电子邮件”的电子邮件地址和来自“巴西”的工作表,然后从“巴西”工作表中的单元格中提取与来自电子邮件的列匹配的信息公式。

sn-p 显示公式在第 3 行 D 列中有效,并从 A 列(员工)返回信息,但在几行后中断并间歇性地工作。

目前我的公式如下所示:=INDEX(A2:A34, MATCH(C2, 'Brazil email'!$A$2:$A48, 0))

这是另一个工作表的 sn-p:enter image description here

如果您对可能导致我的公式崩溃的原因有任何想法,那就太好了。

如果需要,我愿意与您分享电子表格的样本。谢谢你的帮助。 :)

任何其他方法,例如替代 vlookup 或 vba 都会很棒。 :)

更新 3/15: 我能够根据以下评论中给出的重要建议更新我的公式并将其锁定。 :)

这是最新的更新。我仍然收到#REF!在我的一些细胞上。我复制并粘贴以防有空格,并验证该列设置为一般而不是文本。

什么可能给我#REF!当它应该是来自匹配和索引单元格的数据时。我看到其他行有效,但由于某种原因,D 列上的某些单元格没有使用 A 列中的数据进行更新。

请提供帮助,因为我有 25,000 行这样的内容,我必须对其进行整理,并努力更聪明地工作,而不是更努力地工作。 :)

我已经删除了原来的 sn-p,因为给定的更新已经纠正了一些错误。这是当前#REF!的最新图片,请协助:enter image description here

【问题讨论】:

标签: excel vba indexing match vlookup


【解决方案1】:

看你的公式,好像第一个参数应该是加锁的:

=INDEX($A$2:$A$34, MATCH(C2, 'Brazil email'!$A$2:$A$48, 0))

当您向下复制公式时,Excel 会将第一位移出边界。

更新:

#REF!通常来自复制/粘贴公式或删除/移动引用的数据。

我能想到的是确保将工作公式放在顶部单元格中并一直向下粘贴。

另外重要:在 MATCH 部分内的引用范围上为公式添加了另一个锁(以前没有看到它)。

【讨论】:

  • 我能够测试并发现您的更新确实有助于解决一些错误。我仍然看到#REF!在一些细胞上。
  • 更新 3/15:我能够更新我的公式并根据以下评论中给出的重要建议将其锁定。 :) 这是最新的更新。我仍然收到#REF!在我的一些细胞上。我复制并粘贴以防有空格并验证该列设置为一般而不是文本。请查看摘要。
  • 我按照您的建议进行了更改,并且确实有效。我附上了最新的图片。我仍然看到一些#REF!电子表格上的错误。有什么想法!
  • @joel ,除了我的编辑之外,我试图想一些其他的东西,但我无法在这里复制这种情况(使用模拟表)。您可以单击并捕获单元格 D21 中的公式,即带有#REF!的那个吗?通常它的参数之一也是 REF,显示问题所在。
猜你喜欢
  • 2021-08-25
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
  • 2023-04-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多