请教两张excel表格内容对比,分别列出相同及不同部分。例如SHEET1和SHEET2都是分别有A、B两列,A列都是

“名称”,B列都是“型号”,其中内容都是英文文本,现在需要对比这两张表,分别找出“名称”及“型号”都相同的条目,列到SHEET3中,再把剩余的二者都不相同的条目,列到SH... “名称”,B列都是“型号”,其中内容都是英文文本,现在需要对比这两张表,分别找出“名称”及“型号”都相同的条目,列到SHEET3中,再把剩余的二者都不相同的条目,列到SHEET4中,请问具体该怎样操作比较快速便捷,不知道该怎么使用EXCEL自带的比较函数,谢谢啦~~ 展开
 我来答
87888718
2012-09-07 · TA获得超过292个赞
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:431万
展开全部
方法很多,如果可以合并同类数据,可以直接使用数据透视表。
下面是个简单明了的方法:
1.在Sheet1、Sheet2中插入C、D列
2.在Sheet1 C1中输入 =IF(COUNTIF(Sheet2!A:A,Sheet1!A1)>0,"Y","N"),把公式拉到D1后,再把公式往下拉到楼主要的行。
3.在Sheet2 C1中输入 =IF(COUNTIF(Sheet1!A:A,Sheet2!A1)>0,"Y","N"),把公式拉到D1后,再把公式往下拉到楼主要的行。
4.到这里楼主会发现两个表的C列和D列会出现Y或N。Y为两个表名称或型号相同的,反之则不相同。现在楼主只要用筛选功能把C和D都为Y的筛选出来,复制到Sheet3中,都为N的复制到Sheet4中,或者只要名称相同或只有型号相同的复制到XXX表都可以了。
方法有多种,其它方法就不再做解释了

译:Countif 公式意为在某个单元格区域去查找指定值的数量。前面+IF,则是为了符合楼主的要求,只要有相同时不管数量是多少都输出Y,否则输出N。
更多追问追答
追问
您好~这个方法貌似是分别把两张表的对应行一一比较异同,可能我没有表达清楚,这两张表的每行顺序是打乱的,我需要从整个2张表当中挑出相同的,并不是单纯的对应行比较,相当于SHEET1 从A1--A3分别是“苹果”、“梨”、“橙子”;而SHEET2从A1-A3分别是“梨”、“西瓜”、”葡萄“,我需要得到的结论就是 ,这两张表中有”梨”是一样的,假设按照您的方法,结论就变成了没有一种是一样的了, 不知道还有其他什么办法么?谢谢~~
追答
这个不是对应行的。比如您 Sheet1 A2是梨 那么用这个公式的意思就是到 Sheet 2表中的A列去查找"梨"的数量,只要Sheet2 A列中有梨,Sheet1 C2都会反回"Y". 也就是表2中有梨的存在。
你可以验证一下的。不管“梨”在表2的第一列哪个位置, 表1 都人返回Y
匿名用户
2012-09-07
展开全部
可以用透视表来实现,比函数要简单很多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勾魂狐狸精
2012-09-07
知道答主
回答量:43
采纳率:0%
帮助的人:21.1万
展开全部
用VLOOKUP代入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nikkyu
2012-09-07 · 超过35用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:63.1万
展开全部
Sub test()
Dim i As Integer
Dim j As Integer
Dim m As Integer
Dim n As Integer
Dim k As Integer
Dim xiangtong As Boolean
m = Sheet1.Range("a65536").End(xlUp).Row '获得sheet1中数据的数量
n = Sheet2.Range("a65536").End(xlUp).Row '获得sheet2中数据的数量
For i = 1 To m

xiangtong = False

For j = 1 To n
If Sheet1.Cells(i, 1) = Sheet2.Cells(j, 1) And Sheet1.Cells(i, 2) = Sheet2.Cells(j, 2) Then
k = Sheet3.Range("a65536").End(xlUp).Row
Sheet3.Cells(k + 1, 1) = Sheet1.Cells(i, 1)
Sheet3.Cells(k + 1, 2) = Sheet1.Cells(i, 2)

xiangtong = True

End If

Next

If xiangtong = False Then

k = Sheet4.Range("a65536").End(xlUp).Row

Sheet4.Cells(k + 1, 1) = Sheet1.Cells(i, 1)

Sheet4.Cells(k + 1, 2) = Sheet1.Cells(i, 2)

End If

Next

For i = 1 To n

xiangtong = False

For j = 1 To m
If Sheet1.Cells(j, 1) = Sheet2.Cells(i, 1) And Sheet1.Cells(j, 2) = Sheet2.Cells(i, 2) Then

xiangtong = True

End If

Next

If xiangtong = False Then

k = Sheet4.Range("a65536").End(xlUp).Row

Sheet4.Cells(k + 1, 1) = Sheet2.Cells(i, 1)

Sheet4.Cells(k + 1, 2) = Sheet2.Cells(i, 2)

End If

Next

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式