Google 表格脚本:getRange().setValue(sampleArray) 仅将第一个单元格值复制到目标范围的单元格中
Google Sheets Script: getRange().setValue(sampleArray) copies only first cell value into destination range's cells
我正在学习这个基本教程,我的代码看起来很相似,但我不明白为什么它不能正常工作。 setValue 将 A1 中的值插入目标范围的每个单元格,而不是插入 Logger.log 确认存在的数组 (nameRange)。
https://www.youtube.com/watch?v=v1nvDkDY-3g
sheet1: basic sample data
colA colB colC
row1 Name Val1 Val2
row2 jake 2 3
row3 andrew 1 0
row4 allie 4 0
脚本:
var app = SpreadsheetApp;
var activeSheet = app.getActiveSpreadsheet().getActiveSheet();
var lastRow = activeSheet.getLastRow();
function fillDownFormula(){
var nameRange = activeSheet.getRange(1,1,lastRow).getValues();
Logger.log(guideRange);
//shows [[Name], [jake], [andrew], [allie]]
activeSheet.getRange("D1:D5").setValue(guideRange);
//writes 'Name' to each cell in this range
}
这个修改怎么样?
修改点:
guideRange
未在您的脚本中使用。
- 请修改为
nameRange
。
- 在
getRange("D1:D5").setValue(nameRange)
,setValue()
导入第一个元素,即 "Name" 到 "D1:D5"。
- 请修改
setValue()
为setValues()
- 对于范围,将"D1:D5"修改为"D1:D4"。
- 因为
nameRange
的行数是4,所以用了"D1:D4"。
修改后的脚本如下
发件人:
activeSheet.getRange("D1:D5").setValue(guideRange);
收件人:
activeSheet.getRange("D1:D4").setValues(nameRange);
如果我误解了你的问题,我很抱歉。
我正在学习这个基本教程,我的代码看起来很相似,但我不明白为什么它不能正常工作。 setValue 将 A1 中的值插入目标范围的每个单元格,而不是插入 Logger.log 确认存在的数组 (nameRange)。
https://www.youtube.com/watch?v=v1nvDkDY-3g
sheet1: basic sample data
colA colB colC
row1 Name Val1 Val2
row2 jake 2 3
row3 andrew 1 0
row4 allie 4 0
脚本:
var app = SpreadsheetApp;
var activeSheet = app.getActiveSpreadsheet().getActiveSheet();
var lastRow = activeSheet.getLastRow();
function fillDownFormula(){
var nameRange = activeSheet.getRange(1,1,lastRow).getValues();
Logger.log(guideRange);
//shows [[Name], [jake], [andrew], [allie]]
activeSheet.getRange("D1:D5").setValue(guideRange);
//writes 'Name' to each cell in this range
}
这个修改怎么样?
修改点:
guideRange
未在您的脚本中使用。- 请修改为
nameRange
。
- 请修改为
- 在
getRange("D1:D5").setValue(nameRange)
,setValue()
导入第一个元素,即 "Name" 到 "D1:D5"。- 请修改
setValue()
为setValues()
- 对于范围,将"D1:D5"修改为"D1:D4"。
- 因为
nameRange
的行数是4,所以用了"D1:D4"。
- 因为
- 请修改
修改后的脚本如下
发件人:
activeSheet.getRange("D1:D5").setValue(guideRange);
收件人:
activeSheet.getRange("D1:D4").setValues(nameRange);
如果我误解了你的问题,我很抱歉。