首页 > 解决方案 > 多个 COUNTIFS 条件格式 Excel

问题描述

我在一个工作表上有大约 26 条条件格式规则,其中大约 23 条是 COUNTIF 函数,它们根据大于 1 的类别突出显示重复的行。有没有办法将这些规则压缩下来?它似乎使工作表变慢了很多,并且影响了我用来删除/添加表中行的一些 VBA 代码。

下面是一些计算 2 个条件的示例公式,它们都返回相同的颜色/格式,还有一些情况下 J 列中的项目需要豁免,这就是为什么我没有写它来匹配所有重复项J栏:

=AND(COUNTIFS($E$14:$E$17,$E14,$J$14:$J$17,"Critical")>1,$J14="Critical")
=AND(COUNTIFS($E$14:$E$17,$E14,$J$14:$J$17,"High")>1,$J14="High")
=AND(COUNTIFS($E$14:$E$17,$E14,$J$14:$J$17,"Low")>1,$J14="Low")
=AND(COUNTIFS($E$14:$E$17,$E14,$J$14:$J$17,"Pending")>1,$J14="Pending")
=AND(COUNTIFS($E$14:$E$17,$E14,$J$14:$J$17,"Under Review")>1,$J14="Under Review")
=AND(COUNTIFS($E$14:$E$17,$E14,$J$14:$J$17,"Open")>1,$J14="Open")

有什么想法吗?

标签: excelvbaconditional-formattingcountif

解决方案


这是减少公式的一种方法,我认为它可能会加快速度。没有测试过。

首先为您要检查重复的类别创建一个命名范围:

类别命名范围

如果类别不在上述列表中,您的第一个条件格式标准将强制停止。

=COUNTIF(Category,$J14)=0    '<Set this one to "Stop if True", and don't set any format>

您的下一个条件格式标准将检查 E 列和 J 列是否有重复。

=COUNTIFS($E$14:$E$17,$E14,$J$14:$J$17,$J14)>1    '<This only processes if the first condition evaluated to False>

推荐阅读