前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel 保留行号的去重

Excel 保留行号的去重

作者头像
mzlogin
发布2020-04-16 17:06:51
7890
发布2020-04-16 17:06:51
举报
文章被收录于专栏:闷骚的程序员闷骚的程序员

注:本文方法同时适用于 Excel 和 Numbers。

问题

对 Excel 中一列已经排序的数据,如何去重,且保留最终留下的值的行号?

例如:

代码语言:javascript
复制
110
110
151
163
163
163
888
888
999

这样一列数据,进行普通的去重之后结果为:

代码语言:javascript
复制
110
151
163
888
999

而现在想要的效果是:

代码语言:javascript
复制
110

151
163


888

999

分析

遇到这个问题第一个念头是用脚本来做,虽然 VBA 编辑很方便,也肯定能解决,但是总觉得还是不如 Excel 本身提供的操作方便。

第二个念头是使用公式,数据已经排序,需要保留第一次出现该值的那一行,那么可以比对本行值与上一行的值,如果相等则说明不是第一次出现,应删除,如果不等则说明是第一次出现,应保留。沿这个思路很简单地用一个 IF 就解决了问题:

代码语言:javascript
复制
=IF(A2<>A1,A2,"")

效果

总结

自从几年前学了点 VBA,遇到一些利用 Excel 进行数据处理的问题首先就想到使用脚本去做。可以想见步骤:

  1. Alt+F11 打开脚本编辑器。
  2. 查并不熟悉的 API 然后写出逻辑。
  3. 执行之后拿到结果。
  4. 保存的时候可能还得复制到另一份纯净的 Excel 文档里去,免得带脚本的 xls 文件在别人的机子上打开会报安全隐患之类的。

略繁琐,而像本问题则很合适就由 Excel 自带的公式来做,一行公式干净利落。

题外话

前面都是浮云,重点其实在这里,说这么多其实想说的是这样一句话:

做事情选对方法和工具很重要。

比如我周末看了优酷排行第一的蛙泳教学视频,然后有意识地调整了一下呼吸节奏与动作,前后对比如下:

#

调整前

调整后

最远距离

1km

2km

50m 划水次数

33

26

呼吸

急促难持久

平稳易坚持

个人感觉

速度慢,累

速度一般,不怎么累

由此可见一斑。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/12/02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 分析
  • 效果
  • 总结
  • 题外话
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档