如何对选定列不同的内容着不同颜色

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

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

然后在D3处填入公式

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

857b2269902d4895be55cad72756ac19.png

 

 

 

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

853d2a21111e4ed09b488ef428c31cb8.png

 

 

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

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

f2c2346ab03a4d76b738b29bc5eabeb0.png

 

845755f6685c40fa94b8ae191b6e571b.png

 

 

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

2f8a1b67aba9427eb78c560f87afab53.png

 

 

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

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

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

c10cdb00cd424936a89ba4a660e4a1bc.png

 

 

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

 

我们来解析一下这个公式

=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,以此类推

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言经典实例(中+英) 第1章 R入门和获得帮助 7   1.1 下载和安装R软件 8   1.2 开始运行R软件 10   1.3 输入R命令 13   1.4 退出R 15   1.5 中断R正在运行的程序 16   1.6 查看帮助文档 17   1.7 获取函数的帮助文档 18   1.8 搜索帮助文档 20   1.9 查看R软件包帮助信息 21   1.10 通过网络获取帮助 23   1.11 寻找相关函数与数据包 26   1.12 查询邮件表 27   1.13 向邮件表提交问题 27   第2章 基础知识 30   2.1 显示内容 30   2.2 设定变量 32   2.3 出所有变量 34   2.4 删除变量 35   2.5 生成向量 36   2.6 计算基本统计量 37   2.7 生成数 40   2.8 向量比较 42   2.9 选取向量中的元素 43   2.10 向量的计算 46   2.11 运算符优先级问题 48   2.12 定义函数 50   2.13 减少输入,得到更多命令 52   2.14 常见错误 54   第3章 R软件导览 58   3.1 获取和设定工作目录 58   3.2 保存工作空间 59   3.3 查看历史命令记录 60   3.4 保存先前命令产生的结果 60   3.5 显示搜索路径 61   3.6 使用R包中的函数 62   3.7 使用R的内置数据集 64   3.8 查看已安装的R包表 65   3.9 从CRAN网站安装R包 67   3.10 设定默认CRAN网站镜像 69   3.11 隐藏启动信息 70   3.12 运行脚本 70   3.13 批量运行R代码 71   3.14 获取和设定环境变量 74   3.15 找到R的主目录 75   3.16 R的客户化 76   第4章 输入与输出 80   4.1 使用键盘输入数据 81   4.2 显示更少的位数(或更多的位数) 82   4.3 将输出结果重定向到某一文件 84   4.4 显示文件表 85   4.5 解决无法在Windows中打开文件的问题 86   4.6 阅读固定宽度数据记录 87   4.7 读取表格数据文件 88   4.8 读取CSV文件 90   4.9 写入CSV文件 92   4.10 从网络中读取表格或CSV格式数据 93   4.11 读取HTML表格数据 94   4.12 读取复杂格式数据文件 96   4.13 读取MySQL数据库中的数据 100   4.14 保存和传送目标 102   第5章 数据结构 104   5.1 对向量添加数据 111   5.2 在向量中插入数据 112   5.3 理解循环规则 113   5.4 构建因子(即分类变量) 115   5.5 将多个向量合并成单个向量以及平行因子 117   5.6 创建表 118   5.7 根据位置选定表元素 119   5.8 根据名称选定表元素 121   5.9 构建一个名称/值关联表 122   5.10 从表中移除元素 124   5.11 将表转换为向量 125   5.12 从表中移除取值为空值(即NULL)的元素 126   5.13 使用条件来移除表元素 127   5.14 矩阵初始化 129   5.15 执行矩阵运算 130   5.16 将描述性名称赋给矩阵的行和 131   5.17 从矩阵中选定一行或一 132   5.18 用数据初始化数据框 133   5.19 由行数据初始化数据框 134   5.20 添加行至数据框 136   5.21 预分配数据框 137   5.22 根据位置选择数据框的 138   5.23 根据选定数据框的 142   5.24 更便捷地选定行和 143   5.25 修改数据框的名 145   5.26 编辑数据框 146   5.27 从数据框中移除NA值 148   5.28 根据名称排除 149   5.29 合并两个数据框 150   5.30 根据共有合并数据框 151   5.31 更便捷地访问数据框内容 152   5.32 基本数据类型之间的转换 154   5.33 不同结构化数据类型间的转换 156   第6章 数据转换 159   6.1 向量分组 160   6.2 将函数应用于每个表元素 161   6.3 将函数应用于每行 163   6.4 将函数应用于每 164   6.5 将函数应用于组数据 166   6.6 将函数应用于行组 168   6.7 将函数应用于平行向量或表 170   第7章 字符串和日期 172   7.1 获取字符串长度 174   7.2 连接字符串 175   7.3 提取子串 176   7.4 根据分隔符分割字符串 176   7.5 替代子串 178   7.6 查看字符串中的特殊字符 179   7.7 生成字符串的所有成对组合 179   7.8 得到当前日期 181   7.9 转换字符串为日期 181   7.10 转换日期为字符串 182   7.11 转化年、月、日为日期 183   7.12 得到儒略日期 185   7.13 提取日期的一部分 185   7.14 创建日期序 187   第8章 概率 189   8.1 计算组合数 191   8.2 生成组合 192   8.3 生成随机数 193   8.4 生成可再生的随机数 194   8.5 生成随机样本 196   8.6 生成随机序 197   8.7 随机排向量 198   8.8 计算离散分布的概率 198   8.9 计算连续分布的概率 200   8.10 转换概率为分位数 201   8.11 绘制密度函数 203   第9章 统计概论 206   9.1 汇总数据 208   9.2 计算相对频数 210   9.3 因子制表和联表创建 211   9.4 检验分类变量独立性 212   9.5 计算数据集的分位数(和四分位数) 212   9.6 求分位数的逆 213   9.7 数据转换为z分数 214   9.8 检验样本均值(t检验) 215   9.9 均值的置信区间 216   9.10 中位数的置信区间 217   9.11 检验样本比例 218   9.12 比例的置信区间 219   9.13 检验正态性 220   9.14 游程检验 222   9.15 比较两个样本的均值 223   9.16 比较两个非参数样本的位置 225   9.17 检验相关系数的显著性 226   9.18 检验组的等比例 228   9.19 组均值间成对比较 229   9.20 检验两样本的相同分布 230   第10章 图形 232   10.1 创建散点图 234   10.2 添加标题和标签 236   10.3 添加网格 237   10.4 创建多组散点图 238   10.5 添加图例 240   10.6 绘制散点图的回归线 242   10.7 多变量散点图的绘制 243   10.8 创建每个因子水平的散点图 244   10.9 创建条形图 246   10.10 对条形图添加置信区间 248   10.11 给条形图上色 249   10.12 绘制过点x和y的线 251   10.13 改变线的类型、宽度或者颜色 253   10.14 绘制多个数据集 254   10.15 添加垂直线和水平线 256   10.16 创建箱线图 257   10.17 对每个因子水平创建箱线图 258   10.18 创建直方图 259   10.19 对直方图添加密度估计 261   10.20 创建离散直方图 262   10.21 创建正态Q-Q图 264   10.22 创建其他Q-Q图 265   10.23 用多种颜色绘制变量 266   10.24 绘制函数 269   10.25 图形间暂停 270   10.26 在一页中显示多个图形 271   10.27 打开另一个图形窗口 273   10.28 在文档中绘制图形 274   10.29 改变图形参数 275   第11章 线性回归和方差分析 277   11.1 简单线性回归 279   11.2 多元线性回归 281   11.3 得到回归统计量 282   11.4 理解回归的汇总结果 286   11.5 运行无截距的线性回归 289   11.6 运行有交户项的线性回归 290   11.7 选择最合适的回归变量 292   11.8 对数据子集回归 295   11.9 在回归公式中使用表达式 296   11.10 多项式回归 298   11.11 转换数据的回归 299   11.12 寻找最佳幂变换 301   11.13 回归系数的置信区间 304   11.14 绘制回归残差 304   11.15 诊断线性回归 306   11.16 识别有影响的观察值 309   11.17 残差自相关检验 310   11.18 预测新值 311   11.19 建立预测区间 312   11.20 运行单因素方差分析 313   11.21 创建交互关系图 315   11.22 找到组间均值的不同 316   11.23 执行稳健方差分析 318   11.24 运用方差分析比较模型 320   第12章 有用的方法 323   12.1 查看你的数据 323   12.2 拓宽你的输出 324   12.3 输出赋值结果 325   12.4 对行和求和 325   12.5 按输出数据 326   12.6 对数据分级 328   12.7 找到特定值的位置 329   12.8 每隔n个选定一个向量元素 330   12.9 找到成对的最小值或者最大值 331   12.10 生成多个因子的组合 332   12.11 转换一个数据框 333   12.12 对数据框排序 334   12.13 对两排序 335   12.14 移除变量属性 336   12.15 显示对象的结构 337   12.16 代码运行时间 340   12.17 抑制警告和错误消息 341   12.18 从表中提取函数参数 342   12.19 定义你自己的二元运算符 344   第13章 高级数值分析和统计方法 347   13.1 最小化或者最大化一个单参数函数 347   13.2 最小化或者最大化多参数函数 348   13.3 计算特征值和特征向量 350   13.4 主成分分析 351   13.5 简单正交回归 352   13.6 数据的聚类 354   13.7 预测二元变量(逻辑回归) 357   13.8 统计量的自助法 359   13.9 因子分析 361   第14章 时间序分析 366   14.1 表示时间序 367   14.2 绘制时序图 370   14.3 提取最老的观测值或者最新的观测值 373   14.4 选取时间序的子集 374   14.5 合并多个时间序 376   14.6 缺失时间序的填充 378   14.7 时间序的滞后 380   14.8 计算逐次差分 381   14.9 时间序相关的计算 382   14.10 计算移动平均 383   14.11 在日历时间范围内应用函数 384   14.12 应用滚动函数 386   14.13 绘制自相关函数图 388   14.14 检验时间序的自相关 389   14.15 绘制偏自相关函数 390   14.16 两个时间序间的滞后相关性 391   14.17 剔除时间序的趋势 393   14.18 拟合ARIMA模型 394   14.19 剔除ARIMA模型中不显著的系数 397   14.20 对ARIMA模型进行诊断 399   14.21 用ARIMA模型进行预测 400   14.22 均值回归的检验 402   14.23 时间序的平滑 404

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值