重复Google Spreadsheets中的时间窗口?

时间:2016-02-26 10:14:14

标签: google-sheets spreadsheet google-spreadsheet-api

我想在列中重复插入时间窗口,如下所示:

10:00-10:20
10:20-10:40
10:40-11:00
11:00-11:20
11:20-11:40
12:00-12:20

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:0)

将数据放入单元格中:

  1. B1 = 10:00(开始时间)
  2. B2 = 12:20(结束时间)
  3. B3 = 20(以分钟为单位的间隔)
  4. 这是单个arrayFormula,它将生成您的列:

    =ARRAYFORMULA(TEXT(B1+B3*1/24/60*(row(OFFSET(B8,,,(B2-B1)/(B3*1/24/60)))-row(B7)-1),"HH:MM")&"-"&TEXT(B1+B3*1/24/60*(row(OFFSET(B8,,,(B2-B1)/(B3*1/24/60)))-row(B7)),"HH:MM"))
    

    <强>说明

    请查看sample file以了解有关此公式的更多信息。注意一些细节:

    • 任何类型的逻辑顺序都可以在1,2,3系列的帮助下完成......像=ARRAYFORMULA(row(OFFSET(B8,,,7))-row(B7))这样的公式为我们提供了从1到7的列。
    • 时间与表格中的数字相同:1天为1,1小时为1/24,1分钟为1/24/60,依此类推
    • 时间无法正确转换为文本,因为它的编号。因此,您必须使用text(time, "HH:MM")公式将时间转换为文本。

答案 1 :(得分:0)

这将重复您的时间窗口。该公式假设时间范围为A2:A6。 公式中的3是重复次数(根据需要改变)。你可能想要 考虑将A2:A6放在另一张纸上并在公式中引用它。

=TRANSPOSE(SPLIT(JOIN(",",  ARRAYFORMULA(SPLIT(transpose(rept(join(",",A2:A6)&",",3)),",")&",")), ","))