![](/img/trans.png)
[英]Google App Script - Google Spreadsheets Move Row based on cell value efficiently
[英]Google App Script: move row (only selected columns within the row) to another tab based on value in column
我有一個腳本可以在給定列中出現某個值時移動行,但我只想移動這些行中的某些列。
這是我目前使用的腳本:
//Move rows to Des tab from Form tab
function moveSafeRows()
{
var ss=SpreadsheetApp.getActive();
var sh0=ss.getSheetByName('Form');
var rg0=sh0.getDataRange();
var sh1=ss.getSheetByName('Des');
var vals=rg0.getValues();
for(var i=vals.length-1;i>0;i--)
{
if(vals[i][3]=='Yes')
{
sh1.appendRow(vals[i]);
sh0.deleteRow(i+1)
}
}
}
“表單”選項卡中有 8 列,但我只想移動第 1、2、5 列中的值。
我制作了一份類似於我正在處理的電子表格的副本,模擬了我想在第二個選項卡中看到的輸出: https : //docs.google.com/spreadsheets/d/17CRkz71FehikIblgwjHg-r982cUe95WLPI6LiFUr2LI/edit?pli= 1#gid=0
你很親近。
您可以通過相應地切片vals
數組來僅從第 1、2 和 5 列移動數據:
sh1.appendRow([vals[i][0],vals[i][1],vals[i][4]]);
請記住, 0
指的是第一列。 因此,在我們的示例中,我們對 0、1 和 4 感興趣。
//Move rows to Des tab from Form tab
function moveSafeRows()
{
var ss=SpreadsheetApp.getActive();
var sh0=ss.getSheetByName('Form');
var rg0=sh0.getDataRange();
var sh1=ss.getSheetByName('Des');
var vals=rg0.getValues();
for(var i=vals.length-1;i>0;i--)
{
if(vals[i][3]=='Yes')
{
sh1.appendRow([vals[i][0],vals[i][1],vals[i][4]]);
sh0.deleteRow(i+1)
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.