我正在尝试创建一个Google脚本,将来自一个Google Sheet的行复制到同一个工作表中,但根据单元格的值复制到不同的列。 这是一个例子:
A B C D E F
1 |约翰12开了
2 |尼克31关闭了
3 | Sara 12开放
4 | Dany 32关闭
... N |尼克221打开
如果C列中的单元格“关闭”,我需要将A,B,C列复制到D,E,F。如果C列中的单元格是“打开”,请忽略这一点并且不要将A,B,C复制到D,E,FI知道,我可以使用正常功能“if”,但我需要使用google脚本,因为我需要有在列D,E,F纯文本或值(没有公式)。提前感谢您的帮助。
答案 0 :(得分:0)
好的,我删除了全局设置值,并在关闭时仅更新了D,E,F列。它的运行速度会慢一点,但不应该搞乱公式。
function copyIfClosed()
{
var ss=SpreadsheetApp.getActive();
var sht=ss.getSheetByName('example');
var lastRow=sht.getLastRow();
var rng=sht.getRange(1,1,lastRow,6);
var rngA=rng.getValues();
for(var i=0;i<rngA.length;i++)
{
if(rngA[i][2]=='closed')
{
sht.getRange(i+1,4).setValue(rngA[i][0]);
sht.getRange(i+1,5).setValue(rngA[i][1]);
sht.getRange(i+1,6).setValue(rngA[i][2]);
}
}
SpreadsheetApp.flush();
}
希望这有帮助。
这是我的工作表的样子: