添加一行的 Google 表格脚本
Posted
技术标签:
【中文标题】添加一行的 Google 表格脚本【英文标题】:Google sheets script that add a row 【发布时间】:2020-12-05 20:01:08 【问题描述】:我不知道如何编码或编写脚本。
我有一个录制脚本/宏,可以根据 2 个条件对范围进行排序/排序,非常适合我的需求。
我想添加一个功能,但不知道怎么做,我希望脚本在条件 1 之间添加一个空白行(第 34 列)。
以下脚本的第一个条件是根据第34列(或AH)中的2个单词排序/排序,是否可以在“边界”之间自动添加一个空白行?
这是我的代码:
/** @OnlyCurrentDoc */
function Navios()
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('u3:Ak').activate()
.sort([column: 34, ascending: true, column: 22, ascending: true]);
;
这是example sheet(请忽略条件格式)。我想要 AH(或 34)列中的“A decorrer”和“Concluido”之间的空白行
有人可以帮忙吗?
谢谢。
【问题讨论】:
【参考方案1】:我相信你的目标如下。
在函数Navios()
中运行排序脚本后,您希望在“AH”列的A decorrer
的值和Concluido
的值之间插入新行。
修改点:
在这种情况下,我想建议以下流程。-
运行您的脚本以在函数
Navios()
中进行排序。
在函数Navios()
中添加用于插入新行的脚本。
-
检索“AH”列的值。
检索值
A decorrer
和Concluido
的边界。
在值之间插入新行。
当以上几点反映到你的脚本中时,它变成如下。
修改脚本:
function Navios()
var spreadsheet = SpreadsheetApp.getActiveSheet();
var range = spreadsheet.getRange('u3:Ak'); // Modified
range.activate().sort([column: 34, ascending: true, column: 22, ascending: true]); // Modified
// I added below script.
var values = range.offset(0, 13, range.getNumRows(), 1).getValues();
for (var i = 0; i < values.length; i++)
if (values[i][0] != values[0][0])
spreadsheet.insertRowAfter(i + 2);
// spreadsheet.deleteRow(spreadsheet.getMaxRows());
break;
在此修改后的脚本中,当脚本运行时,会在工作表中添加一行。这样,每次运行都会增加行数。如果要在脚本运行时保持行数,请使用// spreadsheet.deleteRow(spreadsheet.getMaxRows());
行。这样,当插入新行时,将删除工作表的底行。这样,保持行数。但我不确定你的实际情况。所以我建议将其作为附加信息。
参考:
insertRowAfter(afterPosition)【讨论】:
以上是关于添加一行的 Google 表格脚本的主要内容,如果未能解决你的问题,请参考以下文章
Google Apps 脚本 - 将一行数据从一个电子表格移动到另一个电子表格
使用 Google BigQuery / Apps 脚本为插入 Google 表格的数据添加时间戳
如何使用 Google Apps 脚本将公式添加到 Google 表格?