想让excel单元格内容被改动后自动变色?最靠谱的办法是保留一列“原始内容”,再给“当前内容”列设置条件格式公式:=$b2$a2。本次操作软件为microsoft excel,版本是microsoft 365。
这个方法适合检查清单、报价、库存、名单等表格:A列放原始值,B列让同事填写或修改,只要B列和A列不一致,B列对应单元格就会自动套上填充色。毕竟Excel不会凭空记住每个单元格修改前的内容,所以没有原始值参照时,得先留一份底稿,或者改用VBA记录编辑动作。
第一步:准备对比列
先把原始数据放在A列,把允许修改的数据放在B列。选中B2:B100这类需要监控的区域,后面的规则只作用在这个选区。注意选区不要包含标题行,不然标题文字也会参与比较哦。

第二步:进入新建规则
在“开始”选项卡里点“条件格式”,再选“新建规则”。如果表格已经有旧规则,先别急着清除;可以在“管理规则”里看清作用范围,避免新旧规则叠在同一列后颜色互相覆盖。

第三步:输入判断公式
在“新建格式规则”窗口里选择“使用公式确定要设置格式的单元格”,公式框输入 =$B2$A2。这里的 $B2 表示当前内容列,$A2 表示原始内容列,列前面的美元符号锁住列号,行号不锁定,向下应用时才能逐行比较。

第四步:设置变色样式
点“格式”,切到“填充”,选个浅黄色或者浅绿色,再点“确定”。颜色尽量选浅色,方便继续看清单元格里的文字;如果还要打印,浅黄色通常比深红色更容易读。
本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcl tcom包对excel操作。感兴趣的朋友可以过来看看

第五步:测试修改效果
回到表格后,把B列某个值改成和A列不同,比如把“未付款”改成“已付款”。只要条件格式公式和应用范围正确,该单元格会马上变色;再把内容改回和A列一致,填充色会自动消失。

条件格式公式怎么写
这类规则的核心语法,你可以对照下面的内容理解:
| 写法 | 含义 | 适合场景 |
|---|---|---|
=$B2$A2 |
B 列当前值不等于 A 列原始值时变色 | 当前内容列和原始内容列并排放置 |
=AND($B2"",$B2$A2) |
B 列不为空,并且与 A 列不同才变色 | 空白待填写行不想提前上色 |
=$C2$C2_原值 |
用已命名区域作参照比较 | 原始值不在相邻列,且已经建立名称 |
就是“不等于”的意思。条件格式会从选区左上角的第一个单元格开始套公式,所以如果选中的是B2:B100,公式就以第2行写;如果选中的是C5:C200,公式也要跟着改成第5行的引用。
常见错误别跳过
第一个常见坑是把公式写成 =$B$2$A$2,行号也被锁死后,整列都会只拿第2行比较,结果经常一片全变色。第二个是应用范围选错,比如公式写B2,却把范围套到C列,颜色就会跑偏。第三个是原始列和当前列的数据类型不一致,数字100和文本“100”看起来一样,条件格式也可能判断为不同;遇到这种情况,先统一格式再设置规则。
需要整行变色时,先选中A2:D100,再用公式 =$B2$A2,这样只要当前内容和原始内容不同,整行都会跟着变色。只想标出被改过的单元格,就只选中B列当前内容区域。










