本帖最后由 心电感应 于 2016-6-22 12:43 编辑
之前在论坛上看到有人求助,希望从一个含有5000多行的工作表里删除指定的700多行数据。一条一条对照删显然太费劲了,绝对不是我们使用Excel的初衷。
这个问题引发了网友们热烈的讨论。论坛里有些大神精通VBA,写个VBA搞定。技术确实很棒。
你会通过什么方式满足这一需求呢?
其实大部分Excel的使用者不见得都懂VBA,而且也不见得都需要学VBA去满足工作中的一般要求。我更希望能通过一些简单的函数和工具来满足这个需求。
出于隐私保护,我另外做了一些数据,但是操作原理是一样的。
1下图是源数据。
2下图是指定要删除的数据(都包含在源数据中):
3操作思路:
- 在“源数据”表中增加列辅助列,用VLOOKUP函数查找“指定删除的数据”的表中A列代码。如果找到,返回代码值;如果找不到,返回“#N/A!”错误值。
- 利用辅助列对源数据进行排序(升序或者降序都无所谓)。
- 排序后,所有要删除的内容都会排到一起。
- 把辅助列中返回代码值的行删除。
- 把“小尾巴“辅助列也删掉。
- 最后剩下的就是我们想要留下的数据。
唯一的公式:
=VLOOKUP(A2,指定删除的数据!$A$1:$B$8,1,0)
整个操作里面没有太复杂的东西。VLOOKUP函数是十分常用的,筛选就更简单了。
关键点是我们要把这些简单的工具和函数灵活地进行组合使用,从而达到我们想要的效果。 Excel的核心就是提高工作效率,在能满足需求的前提下,方法当然越简单越快捷就越好。
|