从日期列表中测试月份变化

时间:2017-03-28 10:34:28

标签: excel vba excel-vba excel-formula

我想在VBA中编写一些代码,可以识别每次月份发生变化时的情况,例如从1月到2月。

在下面的示例中,您可以看到我想从列B获取输入,并输出到列C.输出应为:

    当发生月份变化时,
  • Test
  • Train当月份与之前相同时。

示例数据:

A       B              C
1       29/12/2006     Train    
2       01/01/2007     Test    
3       02/01/2007     Train    
4       03/01/2007     Train    
5       04/01/2007     Train    
6       05/01/2007     Train
..   
100     01/07/2007     Test

2 个答案:

答案 0 :(得分:1)

这样的事可能会起到作用:

=IF(And(Month(A4)=Month(A3);Year(A4)=Year(A3));"Train";"Test")

它比较了A4和A3以及年份的月份。

答案 1 :(得分:1)

这是另一种方式。 A1-Day(A1)将始终返回上个月的最后一天。所以:

B2:  =IF((A1-DAY(A1))=(A2-DAY(A2)),"Train","Test")