【问题标题】:How to make a list of 12 months (loop) not starting at the first month?如何列出不从第一个月开始的 12 个月(循环)列表?
【发布时间】:2014-10-28 08:42:22
【问题描述】:

给定一个日期,例如。 05/05/2006,我需要从给定日期的月份开始命名 12 列。我意识到我需要列出月份,我只是不知道如何循环它(即,如果中间的月份是 12 月,则下一个需要是 1 月)。

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

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

我确信有比蛮力更好的方法(另外,excel 不允许我输入那么多嵌套条件)。

【问题讨论】:

    标签: excel date sequence series


    【解决方案1】:

    这个公式应该可以解决问题:

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

    开始日期应在 A1 中,第一个标题应在 B 列中。如果第一个标题在另一列中,则应将COLUMN()-2 中的2 替换为列号。

    【讨论】:

      【解决方案2】:

      在第一个月列中,使用 =TEXT(A1,"MMMM"),其中日期在 A1 中...在随后的列中,使用 =TEXT(EDATE(DATEVALUE("1 "&B1),1),"MMMM") 根据月份名称创建日期,添加月份并转换为文本。

      【讨论】:

        【解决方案3】:

        假设您的日期在 A1 中,而您的列在 B1 - M1 中:

        设置 B1 = A1

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

        将 C1 复制到 D1 - M1。

        现在您有 12 列包含原始日期和连续 11 个月的同一日期。

        选择 B1 - M1;格式化单元格;在数字下,选择自定义;在类型下,输入mmm。这会将这些日期格式化为仅显示缩写月份。

        【讨论】:

          【解决方案4】:

          假设 A1 有日期。以下应该工作

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

          从 C1 复制上述公式和格式用于其他列

          【讨论】:

          • 让我们说A1=05/05/2006,B1=May,C1=#Value!
          【解决方案5】:

          假设日期在 A1 中

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

          下一列是

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

          ...等等。

          【讨论】:

            猜你喜欢
            • 2014-05-05
            • 2014-05-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-01-13
            • 2021-01-03
            • 2021-08-21
            • 1970-01-01
            相关资源
            最近更新 更多