Google电子表格脚本,用于根据单元格值插入新行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google电子表格脚本,用于根据单元格值插入新行相关的知识,希望对你有一定的参考价值。
Spreadsheet data looks like this
function myFunction()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('Active Listeners');
sh.insertRowBefore(15551)
}
因为我有大量的行可以工作。如果范围的值与“Apr 9”匹配,则在之前插入行。任何人都可以帮助我做到这一点。
答案
从底部循环行的“for循环”几乎可以解决问题。循环在i指定的每一行之后插入一行。请记住,如果将4月9日列格式化为日期,则需要使用不同的解决方案。这仅适用于纯文本。您可以使用菜单上的“格式>数字>纯文本”选择列并更改为纯文本。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('Active Listeners');
//var shlen = sh.getDataRange().getLastRow(); //returns integer last row
var shlen = Browser.inputBox("Enter Last Row of Preferred Range", Browser.Buttons.OK_CANCEL);
var ecell = sh.getActiveCell().getA1Notation();
你可能需要一个不同的dataRange(下面),我只是抓住整张表中的数据参数(上图),然后抓住A1符号“A1:B [底行数字参考]”中指定的范围可能是你需要“B1:C”+ [shlen]或其他任何范围。
if (shlen >= 1) {
var dataRange = sh.getRange("A1:A" + shlen).getValues();
for (var i = shlen; i > 0; i--) {
var row = dataRange[i-1];
if (row[0] == "Apr 9") {
sh.insertRowAfter(i-1)
}
}}
}
如果他们有更好的答案,那么比我更有知识的人可以投入,但我唯一的解决方案(如果它是一个应该是好的)将只重复几次脚本,从你选择的每一行开始时间。选择单元格A1,然后按“控制(或命令)+向下箭头”。它会带你到第一个差距,这应该是前一个脚本结束的地方。记住您要使用的行号,并在再次运行脚本时将其插入输入框中。可能需要几次迭代,但你会到达那里。
如果这个过程将重复进行,那么找到解决方案的好运:)
以上是关于Google电子表格脚本,用于根据单元格值插入新行的主要内容,如果未能解决你的问题,请参考以下文章