首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于另一列值的命名范围列的SetValues()

基于另一列值的命名范围列的SetValues()
EN

Stack Overflow用户
提问于 2022-07-09 02:51:29
回答 1查看 36关注 0票数 0

我从两个单独的名为ranges的单列获取两个值数组。

下面的代码获得以下错误:Exception: The parameters (number[]) don't match the method signature for SpreadsheetApp.Range.setValues.

我知道setValues()需要一个二维数组。如何更改otherRangeVals中的值并将其更改为二维数组?

代码语言:javascript
运行
复制
function setValuesInARange() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var range = ss.getRangeByName("columnOne");
  var otherRange = ss.getRangeByName("columnTwo");
  var startingRow = ss.getRangeByName("headerRow").getRow();
  var vals = range.getValues();
  var otherRangeVals = otherRange.getValues();
  for (var i = startingRow + 1; i < vals.length; i++) {
    var currentVal = vals[i];
    Logger.log(currentVal);
    if (currentVal != "") {
      otherRangeVals[i] = "new value";
    }
  }
  otherRange.setValues(otherRangeVals);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-09 03:04:22

这样试一试:

代码语言:javascript
运行
复制
function setValuesInARange() {
  var ss = SpreadsheetApp.getActive();
  var c1rg = ss.getRangeByName("columnOne");
  var c2rg = ss.getRangeByName("columnTwo");
  var hr = ss.getRangeByName("headerRow").getRow();
  var c1vs = c1rg.getValues();
  var c2vs = c2rg.getValues();
  for (var i = hr + 1; i < c1vs.length; i++) {
    if (c1vs[i][0] != "") {
      c2vs[i][0] = "new value";
    }
  }
  c2rg.setValues(c2vs);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72918592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档