Excel:在两个工作表中匹配产品id和列并插入数据

Excel:在两个工作表中匹配产品id和列并插入数据,excel,vba,Excel,Vba,我有一个大文件,大约有30列和数千行 ID Price Code Description ....... b13 5 1txt asd .. k54 3 2txt1 sad .. m3 2 4asd asd

我有一个大文件,大约有30列和数千行

ID           Price         Code          Description  .......
b13          5             1txt          asd          ..
k54          3             2txt1         sad          .. 
m3           2             4asd          asd          ..
a26          6             5add          dsd          ..
还有一个小文件,有2列或3列,大约100行,它有相同的ID和一些额外的ID。有些ID重复

ID           Price         Code         
b13          5             1txt    
m3           2             4asd    
b13          5             1sdx    
我想要的只是将小文件中的数据复制(替换/更新)到同一列中的大文件中。如果一些产品在小文件中重复(如上面的示例中),则应为此添加一个新行

每次我这样做时,这个小文件都会有不同的列。应该有一些通用的方法

首先我使用VLOOKUP,然后索引和匹配,但我只能使用这些文件手动复制特定信息。例如,只有一个特定列。我怎样才能使它通用?适用于不同的小文件,匹配列名,并在较大的文件中更新列名

有人能给它编码吗

我尝试了索引匹配
=IF(ISERROR(索引(Sheet2!C:C,匹配(A2,Sheet2!A:A,0))),E2,索引(Sheet2!C:C,匹配(‌​A2,表2!A:A,0))


问题是我必须在单独的栏中输入它。此外,我还必须手动指定要查找的列(
C:C
),我尝试了索引匹配
=IF(iError(Index(Index)(Sheet2!C:C,Match(A2,Sheet2!A:A,0))),E2,Index(Sheet2!C:C,Match(A2,Sheet2!A:A,0))
问题是我必须在单独的列中输入它。此外,我必须手动指定要查找的列(C:C)。如果不使用VBA或包含3个表(2个源,1个结果)的解决方案,我看不到更新(!)更大文件的方法。在梯形图中,您可以使用VLOOKUP和IF在它们之间进行选择,但正如您提到的“数千”行一样,我强烈建议您以某种方式使用数据库函数来解决这个问题。