Google Apps脚本。无法设置范围内的值,因为数据中的行数与范围内的行数不匹配

dcjwu

任务是在特定范围(变量“ range”)中找到单词“ Request”,从与“ Request”匹配的行的最近列中复制信息,然后将其粘贴到另一个范围。

无法弄清楚如何在多个单元格中插入变量“ offsetval1”的似乎它返回9个值,但是如果我使用Logger.log(offsetval1.length);进行检查它返回1.0。但是,有9行具有不同的值(请查看屏幕截图)。

如何输入这9行范围内“ offsetval1”

function DocReq() {
  var ui = SpreadsheetApp.getUi();
  var result = ui.prompt("Please, enter Line Count"); // Prompt Input
  var line_count = result.getResponseText(); // Prompt Result (Number) as VAR
  var int_line_count = (+line_count); // Number as Integer
  var range_bottom = int_line_count-1; // Integer - 1 (Total Amount of Rows)

  var spreadsheet = SpreadsheetApp.getActive();
  var currect_cell = spreadsheet.getActiveCell().getRow(); // Row of Active Cell
  var int_current_cell = (+currect_cell); // Row as Integer (Top First Row)

  var main_range_bottom = int_current_cell+range_bottom; // Bottom Last Row
 
  var range = spreadsheet.getRange('L' + int_current_cell + ':' + 'L'+ main_range_bottom); // Get Range All !Requested!

  var find_rqst = range.createTextFinder('Requested').findAll(); // Creating Text Finder !Requested!

  for (var i = 0; i < find_rqst.length; i++) { // Finding Exceptionally !Requested!
    var arrayofreq = find_rqst[i];

    var offsetval1 = arrayofreq.offset(0, -4).getValues(); // Getting Values of !H! Column of All !Requested!
    Logger.log(offsetval1);
    }
    Logger.log(offsetval1.length);
    Logger.log(find_rqst.length);

  spreadsheet.getRange('K131:K139').setValues(offsetval1);
}

在此处输入图片说明

马里奥斯

问题:

代码的问题是offsetval1for循环内迭代定义,因此它始终包含一个值,这就是为什么长度为的原因1您实际上是用新内容覆盖了先前的内容。

  • 尝试将每个值存储到一个数组,然后再存储到该数组set

解:

function DocReq() {
  var ui = SpreadsheetApp.getUi();
  var result = ui.prompt("Please, enter Line Count"); // Prompt Input
  var line_count = result.getResponseText(); // Prompt Result (Number) as VAR
  var int_line_count = (+line_count); // Number as Integer
  var range_bottom = int_line_count-1; // Integer - 1 (Total Amount of Rows)

  var spreadsheet = SpreadsheetApp.getActive();
  var currect_cell = spreadsheet.getActiveCell().getRow(); // Row of Active Cell
  var int_current_cell = (+currect_cell); // Row as Integer (Top First Row)

  var main_range_bottom = int_current_cell+range_bottom; // Bottom Last Row
 
  var range = spreadsheet.getRange('L' + int_current_cell + ':' + 'L'+ main_range_bottom); // Get Range All !Requested!

  var find_rqst = range.createTextFinder('Requested').findAll(); // Creating Text Finder !Requested!
  var offsetval1 = []; // Modified code

  for (var i = 0; i < find_rqst.length; i++) { // Finding Exceptionally !Requested!
    var arrayofreq = find_rqst[i];
    offsetval1.push([arrayofreq.offset(0, -4).getValue()]); // Modified code
    }

  spreadsheet.getRange('K131:K139').setValues(offsetval1);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Google表格Scrip条件格式错误:数据中的行数与范围内的行数不匹配

Google Apps脚本-范围内的ForEach

如何获取列范围内的特定数据列?Google Apps 脚本 - Google 表格

Google表格-查找范围内的多个值,并仅返回不匹配的行

如何使用 Google Apps 脚本删除电子表格中特定范围内的图表集?

Google Apps脚本替换和更新范围内的单元格

使用Google表格vlookup返回索引范围内的值

计算值在范围内增加的次数 - Google 表格

多个范围内的 VLOOKUP Google Sheets

如何对Google Spreadsheet中某个范围内的最大$ n $值求和?

将数据匹配从一张工作表复制到特定行范围内的另一张工作表 Google 应用脚本

Google地图检查当前范围是否在数据层范围内

Google Apps Script:在范围内的每个单元格后插入 x 行

Google表格查找范围内的子字符串

Google表格:提取指定范围内的一列

Google 表格,选择命名范围内的列

Google表格:在输入范围内映射GOOGLEFINANCE函数

使用Google API搜索服务范围内的公司

Google Map API复选标记在范围内

过滤位于Google地图范围内的标记

Google表格计数时间是否在时间范围内

在日期范围内尝试抓取Google的结果数量错误

Google 地方信息不会返回半径范围内的地点

使用Google工作表中的查询功能,在两个单独的日期范围内求和的值的总和

Google 表格 - 从一个范围内重复值“n”次

为每日计数器增加 Google 表格范围内所有值的方法

基于范围内的一系列值的 Google Sheets 条件格式

对 Google 表格中某个范围内的每个单元格执行 if 语句

计算Google工作表中以“-”分隔的单元格范围内的单词数