Google Sheets 条件格式公式:多列存2个及以上相同日期时单元格标蓝
条件格式适配多列匹配需求的实现方案
优先推荐:统一标注多活动日为第三种颜色
该方案逻辑简单无规则冲突,完全匹配你提的优化需求。
你之前使用乘法逻辑要求所有条件同时成立,换成计数逻辑即可实现「任意≥2列匹配就触发」的效果。
假设你8个活动城市的日期列分别为L、P、T、X、AB、AF、AJ、AN(可替换为你实际的8列列号),条件格式应用范围为需要标注的日期区域(如B5:B100),使用如下公式:
=SUMPRODUCT(--ISNUMBER(MATCH(B5, INDIRECT({"L:L","P:P","T:T","X:X","AB:AB","AF:AF","AJ:AJ","AN:AN"}), 0))) >=2
公式逻辑说明
MATCH(B5, 对应日期列,0):查找当前行日期在对应活动列是否存在,存在返回行号,不存在返回错误值ISNUMBER():将匹配成功转为TRUE,失败转为FALSE--:将布尔值转为数值1/0方便求和SUMPRODUCT:对8列的匹配结果求和,结果≥2即代表当天至少在2个城市有活动,触发格式设置
将该规则放在条件格式规则列表的最顶部,勾选「如果为真则停止」,即可避免和原有其他规则冲突。
可选方案:按活动场次区分不同颜色
如果需要单独区分2场、3场及以上活动的日期,只需按场次从多到少设置规则即可:
- 第一条规则:公式判断匹配列数≥3,设置对应颜色,勾选「如果为真则停止」
- 第二条规则:公式判断匹配列数≥2,设置对应颜色,勾选「如果为真则停止」
规则按优先级从高到低排列,不会出现高场次规则被低场次规则覆盖的问题。
注意事项
- 所有日期列需统一为日期格式,避免文本型日期和数值型日期匹配失败
- 公式中的
B5为你选中的条件格式应用区域的左上角首个单元格,不要锁行号(不要写$B$5),保证公式自动适配应用区域的每一行 - 活动列的引用要锁列号(如
$L:$L),保证公式横向拖动时引用的活动列不会偏移
内容的提问来源于stack exchange,提问作者kev
相关产品推荐
相关产品推荐

