最小降雨量的excel条件格式

时间:2015-04-09 19:47:04

标签: excel conditional-formatting

正如您所知,如果下雨但存在“微量”降雨,但是数量小于0.1毫米,因此我们有0.0毫米<跟踪< 0.1毫米。

现在举例来说,我有一张降雨数据表如下:

Year Jan Feb Mar Apr
2011 24.0 0.0 9.4 57.8
2012 Tr 6.8 29.3 109.2
2013 Tr 46.1 49.3 71.0
2014 0.1 7.9 0.1 14.6
2015 15.4 Tr 25.3 (blank)

如果我想突出显示最大值。黄色填充每个月的降雨量。这很简单,只需设置一个突出显示前1项的规则。

但问题是强调分钟。每个月的降雨量都有绿色填充。 如果我只设置一个突出底部1项的规则,那么2月,3月和4月就可以了(2011年2月,2014年3月和2014年4月将突出显示。)

然而,2014年1月将突出显示Jan。但我预计2012年和2013年将被突出显示为Trace< 0.1毫米。

如果我添加一条规则,突出显示除了底部1项规则之外还包含“Tr”的单元格:
1)2012年1月,2013年,2014年都突出显示(我只想要2012年和2013年) 2)2月份,2011年和2015年都亮相(我只想要2011年)

我也尝试了以下内容:
第一条规则:公式:= AND(COUNTBLANK($ B2)= 0,$ B2 = 0) - >格式化绿色填充[如果选中,则停止]
第二规则:包含“Tr”的单元 - >格式化绿色填充[如果选中,则停止]
第3条规则:底部1项 - >格式绿色填充[如果未选中则停止]
逻辑是:
如果有0.0(非空白单元格),则“Tr”和0.1,仅突出显示0.0而不突出其他两个...
如果没有0.0但是有“Tr”和& 0.1,仅突出显示“Tr”但不是0.1
如果没有0.0和“Tr”但是有0.1,则突出显示0.1
然而,这种方法失败了...我认为这是因为“如果真的停止”不是为了这个目的。

是否有任何方法可以根据需要正确突出显示单元格?

2 个答案:

答案 0 :(得分:1)

基本上,你的规则意味着这样的优先级(1是最高优先级):

  1. 列中的第一个单元格,值为0
  2. 列中的第一个单元格,其值为Tr
  3. 列中具有最小值
  4. 的单元格

    这可以通过多种方式完成,但我采用的方法是使用MATCH函数来查找符合上述第一个条件的单元格行,然后如果返回错误,请执行相同操作第二个标准,如果再次出现错误,请对第三个标准执行相同操作。

    获得所需单元格的行后,只需将条件格式设置规则与当前单元格的行与该行号进行比较即可。

    请注意,我从当前单元格中减去了1,因为我编写了数组,因此它们排除了查看第一行(因为它们只是标签)。例如,当MATCH返回值4时,这意味着从查找数组顶部开始的第4行,而不是工作表。由于我使用的查找数组从工作表的第2行开始,我们需要在进行比较时减去1。

    =(ROW(B2) -1) = IFERROR(MATCH(0,B$2:B$6,0),IFERROR(MATCH("Tr",B$2:B$6,0),MATCH(MIN(B$2:B$6),B$2:B$6,0)))

    这样做很酷的事情是条件格式化都可以在一个规则中完成。这是因为查找列的行保持不变,但会相应地更改列字母。

    以下是最终产品: Final Product

    这是整个工作表的规则视图: Rules View

答案 1 :(得分:1)

刚才意识到你可能想要这个:

Final Product

请注意,它会突出显示所有月份的最小值,而不仅仅是第一个(实际上在概念上更容易)。

我用过这个公式:

=AND(NOT(ISBLANK(B2)),OR(B2=0,AND(COUNTIF(B$2:B$6,0)=0,B2="Tr"),AND(COUNTIF(B$2:B$6,0)=0,COUNTIF(B$2:B$6,"Tr")=0,B2=MIN(B$2:B$6))))

基本上,对于每个单元格,条件公式为:

  • 如果为空,则评估为false
  • 如果满足以下任何条件,则
  • 计算结果为true:
    • 它是零
    • 如果列中没有零,那么" Tr"
    • 如果列中没有零且没有" Tr"并且它等于列的最小值