excel表格比对,如何显示被比对表格后面的数据

我一般用vlookup比对,但是有一个缺点就是只能比对出来选中的数据,选中后面的其他的数据就没办法同事显示了,必须要一个个粘贴,有没有好的办法能用什么公式把比对的

1.通过要进行对比的两个工作表或多个工作表位于不同的文件中,首先要做的就是当多个要进行对比的Excel工作表数据复制粘贴到同一个工作表中,同时做好各个工作表的命名准备,以便能正确的区分数据的来源。

2.接下来确定数据“关键字”部分,即能够唯一标识记录的关键字组合,这样就可以在进行数据对比时,能够唯一的标记一条记录。比如,如图所示的“ID”和“姓名”就可以唯一标识一条记录。

3.接下来,还要确定一下,各个工作表数据行的范围以及要进行对比的关键字所在的位置信息。如图可知,

员工基础报表中数据范围为“3至12行”,关键字所在的位置为(i行1列)和(i行2列)。

员工待遇统计表中数据范围为“3至11行”,关键字所在的位置为(i行1列)和(i行2列)。

4.要做的就是从表1中找出表2中已经存在的记录,并且做好相应的标记,以便供查看。为此,按键盘上的快捷组合键“Alt+F11”进入VBA编辑模式。或者切换至“开发工具”选项卡,点击“Visual Basic”按钮进入VBA环境。

有关“开发工具”选项卡的打开方法请参考栏目二部分。

5.右击“Microsoft Excel对象”,从弹出的右键菜单中选择“插入”->“模块”项。

6.接着输入如图所示的代码:

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

7.然后点击工具栏上的“调试运行”按钮。

8.待子过程运行结束后,返回Excel工作表进行查看,就会发现对比结果已经出来啦。基于此,可以进行更近一步的数据处理操作。顺便也将另一张工作表中的记录一同展示出来,以供参考。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-27
你可以将需要比对的值先用公式联合起来,
例如比对A,B,C3列是否与另一表的3列是否一致,
可以在数据最前面插入1列输入公式=a1&b1&c1,比对表一样操作,
然后再用vlookup来比对。
记得将公式复制成数值后再比对,增快速度本回答被网友采纳
第2个回答  2014-02-27
你既然会用vlookup那么可以将你要显示的所有列作为vlookup的table arry区域做公式,然后复制这个公式的文本粘贴到后面的列中,修改vlookup的col_index_num参数,把一行的公式全做好了,选中下拉自动填充就行了。比如sheet1的A1:G100为区域,sheet2的B1要显示sheet1的B1中比对的值,sheet2的1要显示sheet1的1中比对的值....
在sheet2的B1中输入公式:=vlookup(A1,sheet1!$A$1:$G$100,2,false),将“=vlookup(A1,sheet1!$A$1:$G$100,2,false)”复制,粘贴在sheet2的C1中,并将2改成3,使公式变为:=vlookup(A1,sheet1!$A$1:$G$100,3,false)....,以此类推进行快速修改。
第3个回答  2014-02-27
vlookup(A1,SHEET1!A:E,COLUMN()+1,0) 可以右拖。
第4个回答  2014-02-27
你说的对,公式函数往往有这样的限制,我想可能只有VBA才能完美解决
方便的话,发文件给我,[email protected],帮你看看
相似回答