通过Excel 2007中的条件组合Excel工作表/列组

有没有办法将两个Excel工作表(或一个Excel工作表内的一组列)合并,以便一个工作表/组中的行附加到另一个工作表/组,以便某些列值匹配。 澄清:可以说我有2张 – Sheet1和Sheet2。 Sheet1具有列A,B,C,D。 Sheet2有列A,E,F,G。 两张表中的列A包含相同的数据但sorting不同(不按常规方式(按字母顺序或数字sorting))。 我需要将这两张纸合并成一张,但需要合并,以便A列中的值匹配(如果可能,结果应按照与Sheet2相同的顺序排列)。 理想情况下,我正在寻找的function将需要像SQL的INNER JOIN命令。

我正在使用Excel 2007。

谢谢

我想你基本上描述了VLOOKUP函数。

你有两张表,现在你想创build一个列表,它将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) 

如果你需要创build一个额外的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主要不是用作数据库,所以这个操作有点麻烦,因为它不能dynamic缩放。 至less在第二种方法中,使用第三张纸。 您必须至less复制A1,以匹配来自Sheet1的最后使用的行。 如果你还要把它复制下来,所以你不用担心它,你可能需要对空单元格进行防错处理。