Excel – 必要的Vlookup连接需要较小的过程

我有很多excel数据在32个文档中以相同的格式列出信息。 总数将超过600万行。

我有另一个包含几千行的文档。 在这个新文件中,C,E和L列的CONCATENTATE可以与其他32个文件中的D,F和N列的CONCATENATE相同。

我想要find相同的信息,并从每个较大的文档中为小文档中的每一行抓取大量的信息。

目前,这需要我连接每个较大文档的信息,删除所有空格和标点符号,并使用每个包含VLOOKUP的32个IFERROR计算。 最后一个晚上。 所有其他人已经坠毁的电脑。

必须是一个更好的方式做到这一点?

例如。

小文件:

TITLE1 | TITLE2 | TITLE3

大文件(全32)

FACT1 | FACT2 | FACT3 | TITLE1 | TITLE2 | FACT4 | TITLE3

如果小文档的标题1,2和3的连接在标题1,2和3的任何一个连接中从大文档中find相同的信息(除去所有空格和标点符号)。 我想从较大的文档中复制该行的所有信息,包括小文档中信息行相邻的标题和事实。

艾艾娅。 Excel不是为了做这样的事情而做的。 这只是错误的工具。 所以假设你坚持这样做,我会尝试创build一个Access数据库,连接你需要的每个电子表格,然后写一个查询。 我并不十分清楚您想要如何处理匹配的信息,但是您可以将其导出到新的电子表格,或将电子表格链接到该查询。

在Access(2007+)中,转到外部数据选项卡,在导入部分中单击Excel,然后select链接。 如果仍然太慢,则需要复制电子表格并执行查询。

在数据库而不是Excel中会好得多,
但要使其在Excel中高效工作,您需要使用VLOOKUP或MATCH的二进制search选项(sorting近似匹配)。 这比线性(未sorting)search快几个数量级:

1.在32页和小页面上创build额外的列,进行连接等。
2.使用连接列对32张纸上的数据进行sorting
3.使用带有IF的Double VLOOKUP将近似匹配变成精确匹配,如下所示

=IF(VLOOKUP(PartNumber,PartsList,1,TRUE)=PartNumber, VLOOKUP(PartNumber,PartsList,4,TRUE), “Missing”) 

有关此公式的更详细说明,请参见http://fastexcel.wordpress.com/2012/03/29/vlookup-tricks-why-2-vlookups-are-better-than-1-vlookup/

如果有一个结构,所以你知道在哪个表中你需要search,你可以看到,如果INDIRECT函数可以帮助你。 否则,我build议您将数据导入数据库(如Access),然后查询您的数据。