前言
网友: 如何根据左侧的数据, 实现右侧的效果, 规则如下
- 如果是空单元格不标记
- 如果有多个连续相同的内容, 只标记第一个和最后一个
- 单独的数字也标记
其实在最开始的时候我给出的建议是VBA, 不过考虑到平台通用性, 我选择了条件格式解决该问题, 借此我们来学习下条件格式中的"公式"如何使用
注意: 你应该小心条件格式, 因为(比如)条件格式设置的背景色和手动填充的背景色并不一样, 直接复制是不行的. 在微信等很多非专业软件上是无法显示条件格式效果的.
案例1 - 标记超过一定次数的值
其实这个和唯一值类似,唯一值是不超过1次,这里我们可以使用COUNTIF函数实现(这里只是演示用法,实际显示唯一值还是“唯一值”更加方便)
案例2 - 相同行两列值比较
这里是比较B列的值是否和A列相同,如果相同则标记
案例3 - 网友解答
回到之前的问题,这题如何解?
这里重申规则:
- 连续的相同值标记第一个和最后一个
- 这个其实只需要检测边界就可以了,比如在第2行检测和第一、第三行的区别(满足一个即可)
- 空值,使用ISBLANK检测空值并取反,即NOT(BLANK(A2))
最终公式
=AND(NOT(ISBLANK(A2)), OR(A2<>A1, A2<>A3))
后续
其实这个问题解决后还需要复制所有标记的行并粘贴到别的地方,这里标记完就可以使用筛选中的"颜色筛选"选择标记行即可
需要注意的是筛选会在遇到空行结束, 比如下面的数据
实际筛选