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 Apps Script_Google Sheets_Row Number - Fatal编程技术网

Google apps script 获取具有特定值的单元格集合

Google apps script 获取具有特定值的单元格集合,google-apps-script,google-sheets,row-number,Google Apps Script,Google Sheets,Row Number,我有一个按钮,我想点击,这将滚动我到某个位置。我这样做是为了进入第100排: function ScrollMe(){ var file = SpreadsheetApp.getActiveSpreadsheet(); var sheet = file.getActiveSheet(); var row = 100; file.setActiveCell(sheet.getRange(row,1)); } 如果a找到列“B”中包含(REGEX=>“版本:[0-9

我有一个按钮,我想点击,这将滚动我到某个位置。我这样做是为了进入第100排:

function ScrollMe(){
    var file = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = file.getActiveSheet();
    var row = 100;
    file.setActiveCell(sheet.getRange(row,1));
}
如果a找到列“B”中包含(REGEX=>“版本:[0-9]?[0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]?[0-9]?[a-zA-Z]+”)的所有单元格的列表,然后转到类似的最后一个值,我想做什么。因此,基本上,转到“B”列中以“Version:”开头的最后一个单元格,然后是一个单位、双位或三位数字、一个小数点,然后是两个数字,然后是事实之后的任意数量的字母文本。我希望它看起来像这样:

function ScrollMe(){
    var file = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = file.getActiveSheet();
    //C# lambda
    var row = FindAll(a=> a.COLUMN == 'B' && a.VALUE.RegexMatch("Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+"));
    file.setActiveCell(sheet.getRange(row,1));
}

我假设您希望脚本在B列中找到与您的正则表达式匹配的最后一个单元格。如果是这种情况,您可以使用以下代码:

function ScrollMe() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getRange("B:B").getValues();
  var regex = new RegExp(
    'Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+');
  for (var i = 0; i < data.length; i++) {
    if (regex.test(data[i][0])) {
      var lastMatch = i;
    }
  }
  sheet.setActiveRange(sheet.getRange(lastMatch + 1, 2));
}
函数ScrollMe(){
var sheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var数据=sheet.getRange(“B:B”).getValues();
var regex=new RegExp(
'版本:[0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]?[a-zA-Z]+';
对于(变量i=0;i

前面的代码使用了您的方法。它将首先读取完整的B列,然后迭代查找与正则表达式匹配的最后一个单元格;当它找到单元格时,它会选择它。如果您对该功能有任何疑问,请询问我。

为了正确理解您的问题,您能否提供一份样本电子表格以及您希望在样本电子表格中获得的预期结果?当然,请删除您的个人信息。工作!谢谢你抽出时间。我唯一要添加的是最后一行周围的东西,以确保如果没有发现任何东西,它不会断裂。我使用=>if(!isNaN(lastMatch)){sheet.setActiveRange(sheet.getRange(lastMatch+1,2));}希望我能给出你的答案,但我不能,因为我没有代表