Excel条件格式设置:当Used Number超过Allowed Number时高亮Table1对应项
不用VBA实现条件格式的解决方案
没问题,完全不用依赖VBA就能搞定这个需求!下面是一步步的操作方法,所有Excel用户都能直接用,不用担心宏的启用问题:
第一步:确保Table2的Used Number统计正确
先确认Table2里的Used Number列是自动统计Table1中对应Location的出现次数的,你可以用这个公式(输入到Table2的第一个Used Number单元格,Excel会自动填充整个列):
=COUNTIF(Table1[Location], [@Locations])
这个公式会自动统计Table1里和当前行Locations匹配的单元格数量,能实现数据的自动更新。
第二步:给Table1设置条件格式
- 点击Table1的
Location列标题,选中整个列的所有单元格(包括未来新增的行,表格会自动扩展格式) - 切换到「开始」选项卡,找到「条件格式」→「新建规则」
- 在弹出的窗口里选择「使用公式确定要设置格式的单元格」
- 输入下面的公式(根据你的Excel版本选一个就行):
- 如果你用的是Excel 365/2021及以上版本,用XLOOKUP更简洁:
=XLOOKUP([@Location], Table2[Locations], Table2[Used Number]) > XLOOKUP([@Location], Table2[Locations], Table2[Allowed Number]) - 如果你用的是旧版Excel,用INDEX+MATCH组合:
=INDEX(Table2[Used Number], MATCH([@Location], Table2[Locations], 0)) > INDEX(Table2[Allowed Number], MATCH([@Location], Table2[Locations], 0))
- 如果你用的是Excel 365/2021及以上版本,用XLOOKUP更简洁:
- 点击「格式」按钮,切换到「填充」选项卡,选择红色背景,点击确定
- 最后点击「确定」完成规则设置
关键说明
- 这里用的是Excel表格的结构化引用(比如
[@Location]),好处是不管表格新增多少行,格式都会自动应用,不用手动调整范围 - 要确保Table2的
Locations列里每个城市只出现一次,这样MATCH/XLOOKUP才能准确找到对应的Allowed和Used数值
这样设置之后,只要Table1里某个Location的使用次数(Used Number)超过了允许数量(Allowed Number),对应的单元格就会自动变成红色背景,完全不需要宏,所有用户打开文件就能正常看到效果!
内容的提问来源于stack exchange,提问作者d3rdon
相关产品推荐
相关产品推荐

