【问题标题】: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)。
- 您需要将每个条目的
A2、B2 和C2 更改为各自的单元格。
- 关于手动单击脚本上的按钮,我建议您在脚本中使用
onEdit 触发器,以便在编辑某个单元格(或满足某个条件)后自动触发脚本。这样,就不需要点击任何按钮了。