Excel条件格式设置求助:依据名称在两列中的位置差异设置单元格颜色
Excel条件格式设置求助:依据名称在两列中的位置差异设置单元格颜色
嗨,我来帮你搞定这个问题!看你的例子,你应该是想给列B里和列A位置不匹配的名称单元格设置颜色对吧?我给你两种常用的解决方案,你可以根据实际需求选:
方案一:同一行内容不同时变色(最直接的场景)
这个方案会把列B中所有和对应行列A内容不一样的单元格标色,比如你例子里的B1(Sam)和B3(John)都会变色:
- 选中列B的目标单元格区域(比如B1到B3,或者你实际的全部数据范围)
- 点击Excel顶部「开始」选项卡,找到「条件格式」→「新建规则」
- 在弹出的对话框里,选择「使用公式确定要设置格式的单元格」
- 在公式输入框里输入:
=B1<>A1- 注意:如果你的选中区域是从B2开始的,就改成
=B2<>A2,公式里的单元格要和你选中区域的第一个单元格对应
- 注意:如果你的选中区域是从B2开始的,就改成
- 点击「格式」按钮,切换到「填充」选项卡,选你想要的颜色,点「确定」
- 最后再点「确定」完成设置
方案二:内容在列A存在但位置不同时变色
如果你只想给那些在列A里有,但不在同一行的单元格标色(比如B1的Sam在A3,位置不同所以变色;如果列B有个列A没有的值,这个方案不会标色),可以用这个方法:
- 同样先选中列B的目标单元格区域
- 打开「条件格式」→「新建规则」,选「使用公式确定要设置格式的单元格」
- 输入公式:
=AND(ISNUMBER(MATCH(B1,$A$1:$A$3,0)), MATCH(B1,$A$1:$A$3,0)<>ROW(B1))- 这里的
$A$1:$A$3要替换成你列A的实际数据范围,记得加绝对引用符号$,这样公式应用到其他行时不会跑偏
- 这里的
- 同样点击「格式」设置填充颜色,最后确定即可
这个公式的意思是:先确认当前单元格的值在列A里存在(ISNUMBER(MATCH(...))),再判断它在列A里的行号和当前行号不一样,满足这两个条件就标色。
是不是很实用?如果还有细节问题可以随时问哦!
备注:内容来源于stack exchange,提问作者sn8ks




