如何比对两个电子表格的内容
【网友建议做法】
用vlookup函数可以轻松解决这个问题。设有两个文档:SHEET1、SHEET2,两表中第一列都为姓名,第二、三、四分为其他内容。在任一文档(SHEET1)的第一行的空白单元格处输入"=vlookup(a1,sheet2!a:d,1,0),这样,在SHEET1中就把SHEET2中的数据引用过来了,回车后返回一个值,然后向下填充。你就可以轻松的看出有没有重复的姓名了。
这个用EXCE
L来做挺复杂的。把数据转到ACCESS然后用查询作比较,一下就出来了。
【百度经验做法】
通过要进行对比的两个工作表或多个工作表位于不同的文件中,我们首先要做的就是当多个要进行对比的Excel工作表数据复制粘贴到同一个工作表中,同时做好各个工作表的命名准备,以便能正确的区分数据的来源。
接下来确定数据“关键字”部分,即能够唯一标识记录的关键字组合,这样就可以在进行数据对比时,能够唯一的标记一条记录。比如,如图所示的“ID”和“姓名”就可以唯一标识一条记录。
接下来,我们还要确定一下,各个工作表数据行的范围以及要进行对比的关键字所在的位置信息。如图可知,
员工基础报表中数据范围为“3至12行”,关键字所在的位置为(i行1列)和(i行2列)。
员工待遇统计表中数据范围为“3至11行”,关键字所在的位置为(i行1列)和(i行2列)。
在本经验中,我们所要做的就是从表1中找出表2中已经存在的记录,并且做好相应的标记,以便供查看。为此,按键盘上的快捷组合键“Alt+F11”进入VBA编辑模式。或者切换至“开发工具”选项卡,点击“Visual Basic”按钮进入VBA环境。
有关“开发工具”选项卡的打开方法请参考栏目二部分。
右击“Microsoft Excel对象”,从弹出的右键菜单中选择“插入”->“模块”项。
接着输入如图所示的代码:
Sub 数据对比()
Dim i As Integer
Dim j As Integer
For i = 3 To 12 '员工基础报表数据范围
For j = 3 To 11 '员工待遇统计表数据范围
If Sheets("员工基础报表").Cells(i, 1) = Sheets("员工待遇统计表").Cells(j, 1) Then
If Sheets("员工基础报表").Cells(i, 2) = Sheets("员工待遇统计表").Cells(j, 2) Then
Sheets("员工基础报表").Cells(i, 8) = "已存在" '存在时进行标记
End If
End If
Next j
Next i
End Sub
然后点击工具栏上的“调试运行”按钮。
待子过程运行结束后,返回Excel工作表进行查看,就会发现对比结果已经出来啦。基于此,我们可以进行更近一步的数据处理操作。顺便也将另一张工作表中的记录一同展示出来,以供参考。
打开“开发工具”选项卡的方法
点击“Office”按钮,从弹出的菜单中选择“Excel选项”按钮。
接着在打开的窗口中勾选“在功能区显示‘开发工具’选择卡”项即可。