A resposta atualmente favorecida vai pular meses curtos que seguem os longos
Definir A1 = 2014-01-31 Em seguida, o resultado usando = DATE (YEAR (A1), MONTH (A1) +1, DAY (A1)) será 2014-03-03, ignorando fevereiro.
A abordagem EDATE sugerida acima perde dias
Meses curtos fazem com que o EDATE deixe dias por meses sucessivos. Por exemplo. = EDATE (DATE (2014,1,31), 1) produz 2014-02-28, mas aplicá-lo novamente resulta em 2014-03-28, que não é o último dia de março.
Uma solução que funciona: incrementar meses com o dia definido como zero
Defina o dia como zero e aumente os meses, com um mês de antecedência. Por exemplo. Para começar em janeiro, use DATE (2014,2,0) = > 2014-01-31 depois DATE (2014,3,0) = > 2014-02-28, depois DATE (2014,4,0) - > 2014-03-31 como seria de esperar seguindo logicamente o último dia de cada mês.
Outras abordagens
Ajustes podem ser feitos se você quiser o último dia útil do mês, ou incrementos de 30 dias, sem pular meses, etc. Depende do objetivo.