Excel筛选重复数据,保留最后一次的重复数据

Excel根据某一列的值从上到下依次筛选,从第一个单元格开始寻找下面是否有与它相同的,如果有,则删除第一个单元格所在的行,保留最后一个重复数所在的行;如果没有重复的则进入... Excel根据某一列的值从上到下依次筛选,从第一个单元格开始寻找下面是否有与它相同的,如果有,则删除第一个单元格所在的行,保留最后一个重复数所在的行;如果没有重复的则进入第二个单元格,寻找下面如他相同的值,直到最后一个重复的单元格所在的行,删除前面所有重复行,保留最后一个行如图所示 把右边的输出成左边的 只保留重复数据的最后一次 不重复数据原样保留也可以在重复数据最后一次 和不重复数据后面单元格输入一个固定值 最后筛选也可以 展开
 我来答
沈一民
推荐于2017-12-16 · TA获得超过8013个赞
知道大有可为答主
回答量:8448
采纳率:85%
帮助的人:2657万
展开全部

D1=COUNTIF(C1:C$11,C1)向下复制,筛选出D列等于1的就是。

只用函数的话就是

G2=IF(ROW(A1)>SUM(1/COUNTIF($C$1:$C$11,$C$1:$C$11)),"",INDEX(C:C,MATCH(,COUNTIF($G$1:G1,$C$1:$C$11),)))

F2=IF(G2="","",INDEX(B:B,MAX((C$1:$C$11=G2)*ROW($C$1:$C$11))))

两个都是数组公式向下复制。

数组公式,公式输完后,光标放在公式编辑栏同时按下CTRL+SHIFT+回车键,使数组公式生效

纨绔人生zhou
2016-06-11 · TA获得超过494个赞
知道小有建树答主
回答量:610
采纳率:40%
帮助的人:313万
展开全部
典型的字典用法,建议你自己去看下字典,百度! 粘贴VBA运行,即可!
Sub 最后一次出现()
Set d = CreateObject("scripting.dictionary")
arr = Range("b1:c" & [c500].end(xlup).Row)
For i = 1 To UBound(arr)
d.Item(arr(i, 2)) = arr(i, 1)
Next
'结果放在g.h列
[g2].Resize(d.Count) = Application.Transpose(d.Keys)
Columns(8).NumberFormat = "mm-dd"
[h2].Resize(d.Count) = Application.Transpose(d.Items)
End Sub
追问
虽然不明白这个公式,但还是谢谢你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chyzyyj
2016-06-11 · TA获得超过2528个赞
知道大有可为答主
回答量:3319
采纳率:76%
帮助的人:999万
展开全部

你的问题适合用vba做,用函数实现很难。

大体思路是

  1. 先按要去重的关键字所在列排序以加快筛选去重的速度

  2. 通过循环语句进行去重即删除重复行操作。

    需要具体帮助+PP2327285699

追问
谢谢,已解决!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凌文元LWY
高粉答主

2016-06-11 · 每个回答都超有意思的
知道大有可为答主
回答量:3.6万
采纳率:76%
帮助的人:1.3亿
展开全部
在G2单元格输入以下数组公式,按 Ctrl+Shift+Enter组合键,然后向下填充公式
=INDEX($C1:$C11,SMALL($B1:$B11=$F2,ROW($1:$11),4^8),ROW(A1)))
追问
谢谢,已解决!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式