如何对矩阵中TP1/TP2/TP3值与Baseline Value进行颜色编码?
矩阵表格中按基准值标记颜色的实现方法
一、Excel环境下的操作步骤
假设你的矩阵表格每行包含Baseline Value、TP1、TP2、TP3列,按以下步骤设置条件格式:
- 选中TP1、TP2、TP3列的目标数据区域(比如B2到D10,Baseline在A列)
- 点击「开始」选项卡 → 「条件格式」→ 「新建规则」
- 选择「使用公式确定要设置格式的单元格」,依次创建三条规则:
- 标记大于基准值的单元格:输入公式
=B2>$A2,设置填充色(比如绿色) - 标记等于基准值的单元格:输入公式
=B2=$A2,设置填充色(比如黄色) - 标记小于基准值的单元格:输入公式
=B2<$A2,设置填充色(比如红色)
- 标记大于基准值的单元格:输入公式
- 公式里的
$A2用$锁定列,确保每行的TP值都和本行的Baseline对比 - 完成设置后,条件格式会自动覆盖整个选中的矩阵区域,实现逐行对比着色
二、Python Pandas生成矩阵表格时的实现方法
如果你的矩阵是代码生成的DataFrame,用style方法实现:
import pandas as pd # 模拟矩阵表格数据 data = { "Baseline Value": [10, 15, 20], "TP1": [12, 15, 18], "TP2": [9, 16, 20], "TP3": [10, 14, 22] } df = pd.DataFrame(data) # 定义颜色判断逻辑 def color_by_baseline(val, baseline): if val > baseline: return 'background-color: green' elif val == baseline: return 'background-color: yellow' else: return 'background-color: red' # 应用格式到TP列 styled_df = df.style.apply(lambda row: [color_by_baseline(row[col], row['Baseline Value']) for col in ['TP1', 'TP2', 'TP3']], axis=1) # 导出到Excel styled_df.to_excel("marked_matrix.xlsx", engine='openpyxl', index=False)
内容的提问来源于stack exchange,提问作者Kev Rodger
相关产品推荐
相关产品推荐

