将sheet1列(400)与sheet2列(500)匹配的数据作为不同的列顺序进行比较

时间:2018-06-01 02:36:12

标签: excel vba excel-vba

工作表1有400列,数据行最多10000行,我想与工作表2进行比较,它有600列意味着具有不同顺序的其他列。 将sheet1列数据与sheet2进行比较(作为不同的列顺序)并突出显示工作表2中的差异,并在工作表3中突出显示不匹配的单元格,我对VBA的新手需要您的支持,

您可以将任何一列突出显示为工作表1中的主要列

1 个答案:

答案 0 :(得分:3)

不要希望有人会编写您的代码或从头开始教您,您可能会更好地利用Excel的内置工具进行一些研究。因此,我的回答是"不要使用VBA" - 组织数据是Excel 意味着的内容,并且内置了大量内容您可能不知道的功能。

首先,有Spreadsheet Compare(在某些版本中可用),它比较两个工作簿(或同一工作簿的两个版本),并帮助您查看和组织它们之间的差异。您还可以识别潜在问题,例如公式或计算中的更改或手动输入的值。

img

同样内置,请参阅Consolidate data in multiple worksheets,允许您将单独工作表中的结果汇总并报告到单个文档中。工作表可以位于同一工作簿中,也可以位于其他工作簿中。合并数据时,您可以组合数据,以便您可以根据需要更轻松地进行更新和聚合。

img

如果工作表之间的列处于不同的顺序,并且导致问题(或内置工具)是一个问题,那么简单的解决方法就是在两个工作表上单独sort the columns alphabetically。为此,您只需在排序选项中选择Left-to-Right

img

我确定还有其他相关的features我没有想到;看一看"所有"您的版本ribbon上提供的命令,以查看是否还有其他您不知道的命令。

还有一些worksheet functions也可以帮助完成这样的流程。究竟哪些取决于您的需求(在不知道您当前组织方法的详细信息的情况下,其他人无法提供建议)。

img
插入函数对话框

脱离我的头顶,VLOOKUPHLOOKUPINDEXMATCHFINDMID,{{1} }和LEFT都可能对此任务有益。 (但仍然不需要VBA。)在官方Categorized List of Excel Functions上了解更多信息,并特别查看查找功能部分。

最后,还有一些免费或付费的第三方加载项专门用于比较&合并工作表。例如,以下是 DiffEngineX 提供的lengthy list比较功能。

img

Excel用户手头有一项任务并且认为有必要深入了解VBA,而没有意识到Excel已经提供了他们需要的功能,这是很常见的。根据经验,问问自己"这是独一无二的,还是以前某人可能需要做的事情?" 如果它不是唯一的,那很有可能&#39 ;或者已经内置,或者现有解决方案在网上。