代码之家  ›  专栏  ›  技术社区  ›  Adrian

具有多个日期范围的excel条件格式

  •  0
  • Adrian  · 技术社区  · 8 年前

    我一直在寻找合适的配方来解决我的问题,但我什么也找不到。 我有一个包含多个日期范围的表,我想突出显示日历中这些范围之间的所有日期。我试着用公式和

    =AND(F5>=$A$6,F5<=$B$6)
    

    但是,公式仅突出显示第一个范围之间的日期。我试着放置数组(A6美元:A9美元,B6美元:B9美元),但它不起作用。

           Column A     Column B
    row 6 | 05/01/2018 | 12/01/2018  
    row 7 | 03/04/2018 | 16/04/2018  
    row 8 | 06/05/2018 | 17/05/2018  
    row 9 | 01/11/2018 | 05/11/2018  
    

    我的日历从单元格F5开始,到AP16结束。

    当做 阿德里安

    2 回复  |  直到 8 年前
        1
  •  2
  •   Ron Rosenfeld    8 年前

    您需要将AND包装在OR中:

    =OR(AND(F5>=$A$6,F5<=$B$6),AND(F5>=$A$7,F5<=$B$7), AND(...))
    

    或者,以更紧凑但等效的形式:

    =SUMPRODUCT((F5>=$A$6:$A$9)*(F5<=$B$6:$B$9))
    

    或

    =OR((F5>=$A$6:$A$9)*(F5<=$B$6:$B$9))
    

    每个相等数组返回一个 1 的或 0 将它们相乘等于 AND 并将返回 1. 当且仅当相同位置的两个值 TRUE . 添加数组(相当于 OR )然后将显示任何结果是否为 1. .

    尽管Excel 2016将接受 或 在条件格式公式中,我似乎记得一些早期版本不会,因此我也提供了等效的 SUMPRODUCT 公式

        2
  •  1
  •   Tom Sharpe    8 年前

    或者你可以再次使用countifs

    =COUNTIFS($A$6:$A$10,"<="&F5,$B$6:$B$10,">="&F5)