【问题标题】:Google Sheet - Formula to split out datesGoogle 表格 - 拆分日期的公式
【发布时间】:2021-06-23 04:37:50
【问题描述】:

我有一个正在创建的仪表板,它包含开始日期和结束日期,我想将它们分成几个月(稍后我会将它们组合在一起以创建图表等)

我不确定这是否可能,但如果我这样的数据(为查询目的而简化):

我基本上想像这样拆分数据:

我可以使用我编写的脚本来实现这一点,用户可以通过单击按钮来运行该脚本。我只是好奇是否可以使用公式来实现这一点(我很擅长编写脚本,但仍然在查询和数组公式方面遇到困难),因为这是用于仪表板,我认为如果数据更新“实时”会更好而不必单击按钮。

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    使用:

    =INDEX(TEXT(QUERY(SPLIT(FLATTEN(IF(A2:A="",,A2:A&"×"&IFERROR(TEXT(DATE(YEAR(B2:B), 
     MONTH(B2:B)-1+IF(""=SPLIT(REPT(12, DATEDIF(EOMONTH(B2:B, -1), EOMONTH(C2:C, -1)+1, 
     "M")+1), 2), "♀",COLUMN(1:1)), 1), "mmm yyyy")))), "×"), 
     "where Col2 is not null"), {"@", "mmm yyyy"}))
    

    【讨论】:

    • 谢谢,我会试一试并解构它以了解它是如何工作的
    【解决方案2】:

    这不是一个优雅的答案,但它通过修改答案 here 来完成工作

    公式:

    =arrayformula(SPLIT(A4&";"&unique(text(sequence(days(C4,B4)+1,1,B4), "MMM YYYY")), ";"))
    

    输出:

    注意:

    • 我在这里有 3 个带有公式的单元格(E2 用于项目 A,E9 用于项目 B,E13 用于项目 C)。
    • 您需要将每个条目的A2B2C2 更改为各自的单元格。
    • 关于手动单击脚本上的按钮,我建议您在脚本中使用onEdit 触发器,以便在编辑某个单元格(或满足某个条件)后自动触发脚本。这样,就不需要点击任何按钮了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多