0

有没有办法组合 2 个 Excel 工作表(或一个 Excel 工作表内的列组),以便一个工作表/组中的行附加到另一个工作表/组,以便某些列值匹配。澄清一下:假设我有 2 张纸 - Sheet1 和 Sheet2。Sheet1 具有 A、B、C、D 列。Sheet2 有 A、E、F、G 列。两张表中的 A 列包含相同的数据,但排序方式不同(它不是以传统方式排序(按字母顺序或数字顺序))。我需要将这 2 张纸合二为一,但需要将它们组合在一起,以便 A 列中的值匹配(如果可能,结果的排序方式应与 Sheet2 相同)。理想情况下,我正在寻找的功能需要类似于 SQL 的 INNER JOIN 命令。

我正在使用 Excel 2007。

谢谢

4

1 回答 1

2

我认为您基本上描述了该VLOOKUP功能。

您有两张工作表,现在您要创建一个列表,将 A、B、C、D 扩展到 A、B、C、D、E、F、G。

为此,您可以使用

Sheet1!E1=VLOOKUP(Sheet1!A1,Sheet2!A:G,5,FALSE)
Sheet1!F1=VLOOKUP(Sheet1!A1,Sheet2!A:G,6,FALSE)
Sheet1!G1=VLOOKUP(Sheet1!A1,Sheet2!A:G,7,FALSE)

如果您因此需要创建一个额外的 sheet3,请使用以下命令:

Sheet3!A1=Sheet1!A1
Sheet3!B1=VLOOKUP(Sheet3!A1,Sheet1!A:D,2,FALSE)
Sheet3!C1=VLOOKUP(Sheet3!A1,Sheet1!A:D,3,FALSE)
Sheet3!D1=VLOOKUP(Sheet3!A1,Sheet1!A:D,4,FALSE)
Sheet3!E1=VLOOKUP(Sheet3!A1,Sheet2!A:G,5,FALSE)
Sheet3!F1=VLOOKUP(Sheet3!A1,Sheet2!A:G,6,FALSE)
Sheet3!G1=VLOOKUP(Sheet3!A1,Sheet2!A:G,7,FALSE)

希望这个解释是正确的。

编辑:

顺便说一句,由于 Excel 的主要目的不是用作数据库,所以这个操作有点乱,因为它不是动态缩放的。至少在第二种方法中,使用第三张纸。您必须至少将 A1 复制到那么远,以匹配 Sheet1 中最后使用的行。如果你应该进一步复制它,这样你就不必担心一段时间了,你可能需要对空单元格进行防错。

于 2012-11-15T11:33:28.273 回答