表格如图,12年和13年的人员名单中:
人名既有重复的,也有增加的,还有减少的,而且顺序是乱的:
两个年份相同的人员"类型"与"部门"也有可能发生变化;
操作的问题如下:
(1)我想将这两个年份名单中的姓名进行对比,将区别找出来,包括增加的和减少的(我尝试过排序用if与countif的嵌套函数,但是好象只能找出两个名单中对应的不同,但实际上这两个名单姓名行的位置是不对应的,有可能同一人的名字出现在12年的第一行,而在13年却出现在第五行,这种情况就找不出来了,要怎么办呢?)
(2)两个年份相同人员的有可能类型会变动,或者转换部门,应该如何将这种变动找出来以便对人员的最新情况进行更改和更新呢?
求助高手解答,小女万分感谢~~~!!!
1、打开电脑中的Excel表格,选中要对比的两个表格中的一个表格,点击复制。
2、把该表格粘贴到要对比的另一个表格下方或者右侧。
3、把两张表格放在同一个工作表中后,点击页面上方开始菜单栏中的“条件格式”。
4、在条件格式下属的菜单栏中点击“新建规则”,页面弹出新建格式规则对话框。
5、在新建格式规则对话框中,分别选择如下图红色方框内框选的内容。
6、上一步格式设置完成后,在新建格式规则对话框中点击“格式”,进入设置单元格字体页面。
7、设置字体颜色后,点击“确定”。
8、待新建格式规则对话框中的规则说明和颜色都设置完成后,点击“确定”。
9、如下图所示,红色方框框选出来的红色字体处就是两个表格中不一样的地方,对比出来差异后,调整数据再把表格复制到原来表格中就可以了。
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工作表进行查看,就会发现对比结果已经出来啦。基于此,可以进行更近一步的数据处理操作。顺便也将另一张工作表中的记录一同展示出来,以供参考。
Excel如何快速对比两个数据表中的不同数据,用选择性粘帖对比
偶是菜鸟一枚,请具体具体,要非常具体,具体步骤,具体函数怎么写,谢谢了!
追答1、把2013年的全部剪切,放到sheet2里面,确保A列为名字。
2、在D3单元格里面输入=vlookup(A3,Sheet2!A:C,3,false),然后按回车。
3、拖动单元格就完成了。凡是无法计算的,就是2012年在,但是2013年不在的人。
同理,在sheet2里面的D3单元格,输入=vlookup(A3,Sheet2!A:C,3,false),然后回车,拖动,凡是无法计算的就是2013年在但是2012年不再的部门。
而计算有结果的,在E3单元格输入=if(D3=C3,1,0),然后筛选出所有的0,则是两年都在但是部门不一样的人员。
vlookup的两个函数都是=vlookup(A3,Sheet2!A:C,3,false)?怎么都一样?而且我还是没懂:在原来的Sheet2!A:C范围中找肯定找得到啊,怎么个"2012年在,但是2013年不在"法?
追答不好意思,第二个应该是=vlookup(A3,Sheet1!A:C,3,false).
就以这个函数举例,这个函数的算法是,在sheet1里面找A3的值,如果找到,则返回第3列的值,要求精确匹配。所以可以做到在sheet1里面找sheet2中A3的值。
第二遍复制粘贴的时候,忘了改sheet的编号了,实在不好意思哈。
我还是做不出来啊,把2013剪切后放表2中结果是这样的。。。(见下图,D3中的公式是=vlookup(A3,Sheet2!A:C,3,false))我看不出什么名堂啊?@@
把sheet2改为sheet1.
不行你发我邮箱吧,[email protected],我帮你做~