【问题标题】:Excel compare value of columns on sheet 1 and 2 and on match copy data from different columnExcel 比较表 1 和 2 上的列值以及来自不同列的匹配副本数据
【发布时间】:2016-03-02 05:01:52
【问题描述】:

我想做的事情听起来很简单,但我很难做到。

在表格 1 上,我在 A 列中有一堆 IP 地址,在 B、C、D 列中有一些其他数据,如端口、数据包大小等。很多 IP 地址是重复的,但数据包和端口值不同。

在表 2 上,我有 IP 地址的域数据。

A 列包含 IP 地址,B 列和 C 列包含域数据。

我想要做的是比较表 1 和 2 上的 IP 地址,如果它们匹配,我希望将表 2 的 B 列和 C 列复制到表 1 上与该 IP 匹配的空单元格中。

简而言之,我希望将表 2 中的所有域数据复制到表 1 上具有匹配 IP 的行。

救救我! :D

【问题讨论】:

标签: vba excel vlookup


【解决方案1】:

假设

  • 您的数据从 Sheet1 的单元格 A1 开始
  • E 列是 Sheet1 中第一列有空白数据;也就是说,我们希望 Sheet2 的 B 列中的数据最终出现在 Sheet1 的 E 列中。

解决方案

在 Sheet1 的 E1 单元格中输入以下公式:=IFERROR(INDEX(Sheet2!B:B,MATCH(A1,Sheet2!A:A,0)),"No Match")

在 Sheet1 的 F1 单元格中输入以下公式:=IFERROR(INDEX(Sheet2!C:C,MATCH(A1,Sheet2!A:A,0)),"No Match")

当 Sheet1 的 A 列与 Sheet2 的 A 列匹配时,这些公式将返回 Sheet2 的 B 和 C 列的数据。

【讨论】:

  • 谢谢尼克,这有效,但仅适用于每个单元格。我在 sheet1 中有超过 10.000 个条目需要与 sheet2 中大约 600 个条目的列表进行比较。我尝试将范围从 A1 更改为 A:A 但不幸的是它并不那么简单。
  • @sjaak 你能不能把公式从 E1 扩展到 E1:E10000?如果您想尽量减少 Excel 上的负载,您还可以在索引/匹配公式中指定确切的范围(即INDEX(Sheet2!B1:B600)。
  • 我想我搞砸了,在将 A1 更改为 A:A 并正确选择整个 E 列后再次尝试,它现在似乎正在工作。谢谢一百万:)
  • @sjaak 啊,太棒了!很高兴帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
  • 2020-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多