如何列出12个月(循环)不是从第一个月开始?

给定一个date,例如。 05/05/2006 ,我需要从所给date的月份开始,列出12列。 我意识到我需要列出几个月,我只是不知道如何循环(即如果中间的一个月份是十二月,下一个月份是一月份)。

从其他编程经验中,我知道的唯一方法是使第一列等于第一个月,然后为其他列创build嵌套条件语句

  IF(A1="Jan","Feb",IF(A1="Feb","Mar".......)) 

我敢肯定,有一个更好的办法比蛮力(加,Excel不允许我input许多嵌套的条件)。

这个公式应该可以做到这一点:

 =TEXT(DATE(2014,MONTH($A$1)+COLUMN()-2,1),"mmmm") 

起始date应该在A1和B列的第一个标题中。 如果第一个标题在另一列中,则应将COLUMN()-2replace为列号。

在第一个月的列中,使用=TEXT(A1,"MMMM") ,其中date在A1 …在随后的列中,使用=TEXT(EDATE(DATEVALUE("1 "&B1),1),"MMMM")从月份名称中创build一个date,添加一个月并转换为文本。

假设你的date是A1,你的列在B1 – M1:

设置B1 = A1

设置C1 = EDATE(B1, 1) 。 EDATE将指定的月份数添加到指定的date。

复制C1到D1 – M1。

现在,你们有十二个栏目,连续十一个月的原始date和同一date。

selectB1 – M1; 格式单元格; 在数字下,select自定义; 并在Type下inputmmm 。 这将把这些date格式化为只显示缩短的月份。

假设A1有date。 以下应该工作

 B1= A1 (format as "mmm") C1 =EOMONTH(B1,1) (format as "mmm") 

复制上面的公式和格式从其他列的C1

假设date在A1

  =TEXT(EDATE(A1,0),"MMMM") 

下一列将是

  =TEXT(EDATE(A1,1),"MMMM") 

… 等等。