我从两个单独的名为ranges的单列获取两个值数组。
下面的代码获得以下错误:Exception: The parameters (number[]) don't match the method signature for SpreadsheetApp.Range.setValues.
我知道setValues()需要一个二维数组。如何更改otherRangeVals
中的值并将其更改为二维数组?
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);
}
发布于 2022-07-09 03:04:22
这样试一试:
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);
}
https://stackoverflow.com/questions/72918592
复制相似问题