Excel - 检查指定月份的任何一天是否在一系列日期之间

时间:2015-01-20 22:25:22

标签: excel vba excel-vba excel-formula

我有一个工作表,其中包含A和B列中的日期:

   col A   |    col B   |

2014-06-30 | 2014-10-31 | 
2014-01-21 | 2014-05-31 |
2012-03-07 | 2014-11-03 |
2013-02-05 | 2014-05-01 |

在C栏中,我想检查指定月份的任何一天(即2014年6月)是否在A和B列的日期之间:

   col A   |    col B   |   col C  |

2014-06-30 | 2014-10-31 |    yes   |
2014-01-21 | 2014-05-31 |    no    |
2012-03-07 | 2014-11-03 |    yes   |
2013-02-05 | 2014-05-01 |    no    |

有什么想法吗? (VBA或Excel公式)

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

如果该月的第一天晚于B,或者如果最后一天在A之前,那么只有是重叠,所以此公式应该有效

=IF(OR(A2>DATE(2014,6,30),B2<DATE(2014,6,1)),"no","yes")

要缩短,您可以将参考期的开始日期和结束日期放在两个单元格中,例如E1F1,然后使用此版本:

=IF(OR(A2>F$1,B2<E$1),"no","yes")

答案 1 :(得分:-1)

假设Excel知道列的第一个是日期;假设你把你的“指定月份”放在D栏中,这就是你可以比较的方法:

=IF(AND(D1>A1,D1<B1),"yes","no")

它必须比较另一个日期,例如,如果您想测试7月,您将参考7-1-2014的单元格

为了更具体,您可能希望使用VBA和date references进行检查。