Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何在google脚本中引用单元格?_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 如何在google脚本中引用单元格?

Google apps script 如何在google脚本中引用单元格?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我是谷歌脚本新手,没有什么经验,所以我希望你能帮助我 I have this script: function deleteRows() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getSheetByName('Staffing Data'); var r = s.getRange('B:B'); var v = r.getValues(); for(var i=v.length-1;i>

我是谷歌脚本新手,没有什么经验,所以我希望你能帮助我

I have this script: 

function deleteRows() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Staffing Data');
  var r = s.getRange('B:B');
  var v = r.getValues();
  for(var i=v.length-1;i>=0;i--)
    if(v[0,i]=='DE')
      s.deleteRow(i+1);
};
我用它来确定B列是否包含给定的值。 是否可以在电子表格中对单元格进行“DE”引用? 我希望它引用工作表“人员配置数据”中的单元格A1,这样我就可以直接从那里更改值,而无需进入脚本

提前感谢(var i=v.length-1;i>=0;i--)如果(v[i][0]='DE')s.deleteRow(i+1)

同样,这
var r=s.getRange(1,2,s.getLastRow())
比这个
var r=s.getRange('B:B')更好因为后者通常从数据的底部向maxrows返回null

需要明确的是:
var startRow=2;var r=s.getRange(sr,1,s.getLastRow()-startRow+1)如果您的范围不是从顶部开始

您也可以这样删除
var d=0;如果(v[i][0]='DE')s.deleteRow(i+1);

另外,这个
var r=s.getRange(1,2,s.getLastRow());
比这个
var r=s.getRange('B:B');
更好,因为后者通常会将数据底部的null返回给maxrows

需要明确的是:
var startRow=2;var r=s.getRange(sr,1,s.getLastRow()-startRow+1);
如果范围不是从顶部开始的


您还可以像这样删除
var d=0;用于(var i=0;我希望查看第一位。事实上,您建议的选项看起来更好。至于“DE”部分,我不确定我是否在跟踪。我是否可以将其连接到电子表格中的单元格?如果是,如何连接?如果我想将“DE”更改为“EL”,例如,我将始终必须进入脚本进行更改。通过使其引用如果(v[I][0]==s);
或者您可以使用
函数delRows(s)将其作为函数的参数{var s=s | |'default';
因此,如果您不提供它,那么它将变成。实际上,在ES6中,我认为您在函数声明中正确设置了s='default'。谢谢您,库珀,这解决了:
函数deleteRows(){var ss=SpreadsheetApp.getActiveSpreadsheet();var s=ss.getSheetByName('Staffing Data');var r=s.getRange(1,2,s.getLastRow());var v=r.getValues();var x=s.getRange(1,1).getValue();for(var i=v.length-1;i>=0;i--)如果(v[0,i]=x)s.deleteRow(i+1);}
感谢您查看第一部分。确实,您建议的选项看起来更好。至于“DE”部分,我不确定我是否遵循了。我可以将其连接到电子表格中的单元格吗?如果可以,如何连接?如果我想将“DE”更改为“EL”,例如,我必须进入脚本进行更改。通过使其引用如果(v[I][0]==s);
或者您可以使用
函数delRows(s)将其作为函数的参数{var s=s | |'default';
因此,如果您不提供它,那么它将变成。实际上,在ES6中,我认为您在函数声明中正确设置了s='default'。谢谢您,库珀,这解决了:
函数deleteRows(){var ss=SpreadsheetApp.getActiveSpreadsheet();var s=ss.getSheetByName('Staffing Data');var r=s.getRange(1,2,s.getLastRow());var v=r.getValues();var x=s.getRange(1,1).getValue();for(var i=v.length-1;i>=0;i--)if(v[0,i]=x)s.deleteRow(i+1);};