如何列出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()-2
replace为列号。
在第一个月的列中,使用=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")
… 等等。