Excel中两列部分相同的名字怎么进行对比并且清晰的显示出来

我要对比两列不同的名字数据,并且能够很直观的显示出来,好让我知道哪列缺了哪个,或者说哪列多了哪个。举个例子:A列为:张三王五李四老刘方七B列为:方七老刘孙膑张三然后我要对... 我要对比两列不同的名字数据,并且能够很直观的显示出来,好让我知道哪列缺了哪个,或者说哪列多了哪个。

举个例子:
A列为: 张三 王五 李四 老刘 方七
B列为: 方七 老刘 孙膑 张三

然后我要对比并且清晰的显示谁多了谁谁少了谁

如何做到?
我想要的是两列能够各自排序,并且留出空格来说明这个位置的人旁别那列有,但是自己这列没有。

另外如果你那个公式能够做到以上的,能否麻烦说明下你的这个语法规则。

谢谢
展开
 我来答
s今生缘
高粉答主

2015-11-11 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.2万
采纳率:85%
帮助的人:4936万
展开全部
  1. 如果只是找出不同,而不需要提取出来,卜正脊用条件格式更方便;

  2. 选中区域,条件格式--突出显示单元格规型渗则--重复值;

  3. 在出现的对话框中,选择“唯一”,设置格式,不同姓名即会清局显色;

  4. 如果选择“重复”,则相同姓名显色。

chenjin99
2008-07-18 · TA获得超过7061个赞
知道大有可为答主
回答量:1304
采纳率:100%
帮助的人:1873万
展开全部
这个要求只能用宏来实现了,试试我写的这个:

执行完成后,会用不同颜色区分两边有差异的数据,并会在当中的空列中自动填写1或2或空,你可以用运携自动筛选来轻松找出差异:填写1(或2)表示第1(或2)组中此数据在第2(或1)组中不存在;空白的表示此行数据两边都能对应上。

Option Explicit
Dim x1, y1, x2, y2, x3, i, k As Integer

Sub 查找两列不同数据()
'
' 查找两列不同数据 Macro
' JamesChen 记录的宏 2008/7/18
' 使用说明:把要对比的两组数据(数据中不可有空列)放在同一个表中,中间用一个空列分隔。要比较的关键列旁源伏放裂缺在两组数据的第一列上,并对两组数据按关健列从小到大排序
' 注:第一列不进行比较,作为标题。

'
' 确定第一列的列数,第一个不为空的列
' 第一行不算,从第二行开始

If MsgBox("确认要进行处理吗?" + Chr(13) + Chr(13) + "注意:" + Chr(13) + "1)各组数据必须从小到大排序;" _
+ Chr(13) + "2)第一行为标题,各组数据第二行一定要整齐不可有空格;", vbOKCancel + vbQuestion, "查找两列不同数据宏 -James") = vbCancel Then
Exit Sub
End If

x1 = 1
While Cells(2, x1) = ""
x1 = x1 + 1 '第一列的起列
Wend
' 确定第二列的列数
'先找到第一个系列的单元格
x2 = x1 + 1
While Cells(2, x2) <> ""
x2 = x2 + 1 '第二列的起列,x2-2为第一列的止列
Wend
x2 = x2 + 1
x3 = x2 + 1
While Cells(2, x3) <> ""
x3 = x3 + 1 'x3-1为第二列的止列
Wend

' 开始比较
' k = 0
i = 2
Do
If Cells(i, x1) < Cells(i, x2) Then
Range(Cells(i, x2), Cells(i, x3 - 1)).Select
Selection.Insert Shift:=xlDown
Selection.Interior.ColorIndex = xlNone
Range(Cells(i, x1), Cells(i, x2 - 2)).Interior.ColorIndex = 6
Cells(i, x2 - 1) = 1
ElseIf Cells(i, x1) > Cells(i, x2) Then
Range(Cells(i, x1), Cells(i, x2 - 2)).Select
Selection.Insert Shift:=xlDown
Selection.Interior.ColorIndex = xlNone
Range(Cells(i, x2), Cells(i, x3 - 1)).Interior.ColorIndex = 8
Cells(i, x2 - 1) = 2
End If
i = i + 1
If Cells(i, x1) = "" Or Cells(i, x2) = "" Then Exit Do
Loop
While Len(Cells(i, x1).Text) <> 0 Or Len(Cells(i, x2).Text) <> 0
If Len(Cells(i, x2).Text) = 0 Then
Range(Cells(i, x1), Cells(i, x3 - 1)).Select
' Selection.Insert Shift:=xlDown
Selection.Interior.ColorIndex = xlNone
Range(Cells(i, x1), Cells(i, x2 - 2)).Interior.ColorIndex = 6
Cells(i, x2 - 1) = 1
Else
Range(Cells(i, x1), Cells(i, x2 - 2)).Select
' Selection.Insert Shift:=xlDown
Selection.Interior.ColorIndex = xlNone
Range(Cells(i, x2), Cells(i, x3 - 1)).Interior.ColorIndex = 8
Cells(i, x2 - 1) = 2
End If
i = i + 1
Wend
Cells(2, 1).Select
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyf_lb
2008-07-17
知道答主
回答量:34
采纳率:100%
帮助的人:15.1万
展开全部
我觉得可以用vlookup公式来做。
在c1里面输入公式=vlookup(b1,a1:a5,1,false),这样在c列可以显漏正示有哪些人的名字与b列重复,剩陆芦下的就是不同的返悉悔。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式