给出约会,例如05/05/2006
,我需要从给定日期的月份开始命名12列。我意识到我需要列出几个月的清单,我只是不知道如何循环它(即如果中间的一个月是12月,下一个月需要是1月)。
从其他编程经验来看,我知道的唯一方法是使第一列等于第一个月,然后为其他列创建嵌套条件语句
IF(A1="Jan","Feb",IF(A1="Feb","Mar".......))
我确信有比蛮力更好的方法(加上,excel不允许我输入那么多嵌套条件)。
答案 0 :(得分:1)
这个公式可以解决问题:
=TEXT(DATE(2014,MONTH($A$1)+COLUMN()-2,1),"mmmm")
开始日期应为A1列,B列为第一个标题。如果第一个标题位于另一列中,则应将2
中的COLUMN()-2
替换为列号。
答案 1 :(得分:1)
在第一个月的列中,使用=TEXT(A1,"MMMM")
,其中日期位于A1 ...在后续列中,使用=TEXT(EDATE(DATEVALUE("1 "&B1),1),"MMMM")
从月份名称中创建日期,添加月份并转换为文本。
答案 2 :(得分:0)
假设您的日期在A1,而您的列在B1 - M1:
设置B1 = A1
。
设置C1 = EDATE(B1, 1)
。 EDATE将指定的月份数添加到指定日期。
将C1复制到D1 - M1。
现在,您有十二列包含原始日期和连续十一个月的相同日期。
选择B1 - M1;格式单元格;在数字下,选择自定义;在“类型”下,输入mmm
。这将格式化这些日期以显示缩写的月份。
答案 3 :(得分:0)
假设A1有日期。以下应该有效
B1= A1 (format as "mmm")
C1 =EOMONTH(B1,1) (format as "mmm")
将上述公式和格式从C1复制到其他列
答案 4 :(得分:0)
假设日期在A1
=TEXT(EDATE(A1,0),"MMMM")
下一栏将是
=TEXT(EDATE(A1,1),"MMMM")
......等等。