如何在Google Sheets数组空白行的Note2列插入下一行Timestamp日期
在Google Sheets中为数组空白行的Note2列填充下一行日期
我使用以下公式在Google Sheets中重组初始数组,当出现新日期值时插入空白行:
=arrayformula( iferror( vlookup( sort( { filter(row(sort!F2:F); len(sort!F2:F)); filter(row(sort!F2:F); len(sort!F2:F); sort!F2:F <> sort!F3:F) + 0.3 } ); { row(sort!F2:F) \ sort!A2:G }; column(sort!A2:G) - column(sort!A2) + 2; false ) ) )
当前公式输出如下:
| 姓名 | 姓氏 | 职位 | 公司 | 邮箱 | Timestamp | Note2 |
|---|---|---|---|---|---|---|
| Name 3 | LastName3 | Title3 | Company3 | Email@3.com | 30.06.2022. | RANDOM NOTE 3 |
| Name5 | LastName5 | Title5 | Company5 | Email@5.com | 30.06.2022. | RANDOM NOTE 5 |
| Name7 | LastName7 | Title7 | Company7 | Email@7.com | 30.06.2022. | RANDOM NOTE 7 |
| Name89 | LastName89 | Title89 | Company89 | Email@89.com | 06.07.2022. | RANDOM NOTE 89 |
| Name90 | LastName90 | Title90 | Company90 | Email@90.com | 06.07.2022. | RANDOM NOTE 90 |
| Name91 | LastName91 | Title91 | Company91 | Email@91.com | 06.07.2022. | RANDOM NOTE 91 |
| Name92 | LastName92 | Title92 | Company92 | Email@92.com | 06.07.2022. | RANDOM NOTE 92 |
| Name94 | LastName94 | Title94 | Company94 | Email@94.com | 06.07.2022. | RANDOM NOTE 94 |
| Name95 | LastName95 | Title95 | Company95 | Email@95.com | 06.07.2022. | RANDOM NOTE 95 |
| Name97 | LastName97 | Title97 | Company97 | Email@97.com | 06.07.2022. | RANDOM NOTE 97 |
| Name98 | LastName98 | Title98 | Company98 | Email@98.com | 06.07.2022. | RANDOM NOTE 98 |
| Name99 | LastName99 | Title99 | Company99 | Email@99.com | 07.07.2022. | RANDOM NOTE 99 |
现在需要让每个空白行的Note2列自动填入下一行的Timestamp日期,可使用以下修改后的公式:
=arrayformula( let( original_output, iferror( vlookup( sort( { filter(row(sort!F2:F); len(sort!F2:F)); filter(row(sort!F2:F); len(sort!F2:F); sort!F2:F <> sort!F3:F) + 0.3 } ); { row(sort!F2:F) \ sort!A2:G }; column(sort!A2:G) - column(sort!A2) + 2; false ) ), modified_output, map(sequence(rows(original_output)), sequence(1, columns(original_output)), lambda(r,c, if( and(c=7, counta(choosecols(original_output,1,2,3,4,5,6),r)=0), offset(original_output,r,5,1,1), index(original_output,r,c) ) ) ), modified_output ) )
公式说明:
- 用
LET函数封装原公式输出,简化后续逻辑调用; - 通过
MAP遍历输出的每一个单元格:- 判断当前单元格是否处于第7列(Note2列),且当前行的前6列均为空(即空白行);
- 满足条件时,提取下一行第6列(Timestamp)的值填入当前单元格;
- 不满足条件时,保留原输出内容。
内容的提问来源于Stack Exchange,提问作者Klon Aquwerttag
相关产品推荐
相关产品推荐

