Google Sheets按日期分组排序脚本需求及代码优化
Google工作表按日期块排序脚本修改请求
需求说明
- 目标工作表:
1_REALISATION PROJETS - 排序依据:第9列(I列)的日期
- 核心要求:仅标题行的I列包含日期,需将「标题行+后续至下一个标题行的所有行」作为一个整体块,按标题行的日期完成排序
当前问题
现有脚本仅能对I列有内容的行单独排序,无法实现块级整体排序,预期效果如下:
示例表格
| COL 01 | COL 02 | COL 03 | COL 04 | COL 05 | COL 06 | COL 07 | COL 08 | COL 09 |
|---|---|---|---|---|---|---|---|---|
| 1/1/2001 | 9 | 8 | 1 | 5 | 10 | 6 | 6 | 9 |
| 1/1/2001 | 9 | 8 | 1 | 5 | 10 | 6 | 6 | 9 |
| 1/1/2002 | 2 | 6 | 10 | 8 | 1 | 0 | 0 | 7 |
| 1/1/2003 | 4 | 1 | 6 | 4 | 4 | 10 | 10 | 3 |
| 4 | 1 | 6 | 4 | 4 | 10 | 10 | 3 | |
| 1/1/2004 | 2 | 10 | 5 | 6 | 2 | 4 | 8 | 10 |
| 1/1/2007 | 9 | 2 | 9 | 9 | 0 | 4 | 10 | 10 |
| 1/1/2009 | 6 | 0 | 8 | 3 | 8 | 7 | 2 | 0 |
| 1/1/2012 | 6 | 4 | 4 | 0 | 0 | 2 | 4 | 6 |
| 6 | 4 | 4 | 0 | 0 | 2 | 4 | 6 | |
| 6 | 4 | 4 | 0 | 0 | 2 | 4 | 6 | |
| 1/1/2005 | 2 | 1 | 8 | 6 | 1 | 8 | 7 | 9 |
| 1/1/2006 | 4 | 7 | 9 | 8 | 8 | 8 | 2 | 1 |
| 1/1/2008 | 8 | 2 | 1 | 6 | 8 | 8 | 4 | 9 |
| 1/1/2010 | 9 | 7 | 8 | 3 | 4 | 4 | 6 | 0 |
| 9 | 7 | 8 | 3 | 4 | 4 | 6 | 0 | |
| 9 | 7 | 8 | 3 | 4 | 4 | 6 | 0 | |
| 9 | 7 | 8 | 3 | 4 | 4 | 6 | 0 | |
| 9 | 7 | 8 | 3 | 4 | 4 | 6 | 0 |
现有代码
function myFunction() { var REA_PROJsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("1_REALISATION PROJETS"); var lastRowOfData = REA_PROJsheet.getLastRow(); var lastColumnOfData = REA_PROJsheet.getLastColumn(); var firstRowOfData = 2; var sortColumnNumber = 9; var range = REA_PROJsheet.getRange(firstRowOfData, 1, lastRowOfData - firstRowOfData + 1, lastColumnOfData);// Set the range to sort //commande sort range.sort({column: sortColumnNumber, ascending: true});// Sort! }
请求
请修改上述脚本,实现按块整体排序的需求。
内容的提问来源于stack exchange,提问作者antho2B
相关产品推荐
相关产品推荐

