当前位置: 首页 > 办公技巧 > 正文

办公表格颜色排序技巧(如何对选定列不同的内容着不同颜色)

  • 叁碗诸角 叁碗诸角
  • 办公技巧
  • 2023-08-15 15:17:16
  • 0

我们要对一个员工消费表中不同的员工着不同的颜色,要怎么做呢?

首先我们可以对姓名进行排序,然后悲催地发现,每个人出现的记录次数并不相同,所以不能用行号取余实现,那么我们可以添加辅助列,比如我这里用的是D列,然后在数据开始的行上边添加两行分别标记 0 ,1(0,1只是个标签,如果不喜欢标记成阿猫阿狗也可以)

然后在D3处填入公式

=IF(A3=A2,D2,OFFSET(D2,-COUNTIF($A$2:$A3,A2),0))

然后我们惊奇地发现,相同的姓名会被赋予一个相同的标记,而相邻的两个不同姓名标记又不一样

那么,我们找到开始---->条件格式---->新建规则,选择使用公式确定要设置格式的单元格

在第一个跳出界面的范围框中填入 =$D3=1,格式设置为 图案 -->淡蓝色,确定,再次选择开始---->条件格式---->管理规则,将”应用于”修改为你要操作的所有区域,比如我这里是 B3到K1751则填入 $B$3:$K$1751

确定,然后我们惊奇地发现,不同的姓名被着上不同的颜色了。

那么,辅助列是否可以删除呢,这是不行的,因为规则要依赖辅助列,我们在查看或是打印的时候,如果不希望辅助列出现可以隐藏即可,如果不希望列出现隔断的情况,可以找一个尽量靠后的列做辅助列。

为什么条件格式规则管理器的规则中公式是$D3=1而不是整列$D:D呢?其实这个就是计算机语言规则,$D3本身就是可变的,如果我们设置为$D:D,他反倒会以为在这一个小小的范围内,要求整列都是1,卡bug呢

那么,我们修改某一条记录的员工姓名,需不需要重新做一次呢?这里是不需要的,毕竟公式是动态的,如下,将第三列的姓名改成了东哥:

我们发现效果还是和我们所想的一样样的

我们来解析一下这个公式

=IF(A3=A2,D2,OFFSET(D2,-COUNTIF($A$2:$A3,A2),0))

首先我们要明白这里边包含的三个公式的基本释义

IF:如果**则**。OFFSET:按要求偏移。COUNTIF:统计出现次数

分解开始:

=IF(A3=A2,D2,***)

这层意思就是说,如果A3=A2,则D列填充D2的值(1),如果A3!=A2,则填充OFFSET(D2,-COUNTIF($A$2:$A3,A2),0))的值,然后我们再看

OFFSET(D2,-COUNTIF($A$2:$A3,A2),0))

这层意思是说,从D2开始偏移,偏移量为行偏移-COUNTIF($A$2:$A3,A2),列偏移0

那么我们再看

COUNTIF($A$2:$A3,A2)

这层意思是说统计$A$2:$A3这个区域范围出现A2的次数

那么我们组合起来看就是:

如果A(n)列等于A(n-1)列的值,则填充D2数据(1),如何A(n)列不等于A(n-1)列的值,则以D(n)列的值开始偏移,偏移量为从A2行到该行出现A(n-1)行的次数取反(取对应的负值)

我们以第三列到第九列为例讲该公式如何运行(以第一个着色表格为例):

由于A3不等于A2,则D3的值是从D2偏移,而$A$2:$A2范围内出现A2的次数是1次,所以偏移量为-1,负数说明是向上偏移,偏移后的值为D1的数据0

A4等于A3,则进入IF后返回值是D3,还是为0,以此类推

由于A8不等于A7,则D8的值是从D7偏移,而$A$2:$A8范围内出现A7的次数是5次(从第三行到第七行),所以偏移量为-5,负数说明是向上偏移,偏移后的值为D2的数据1

A9等于A8,则进入IF后返回值是D8,还是为1,以此类推


最新文章