google-apps-script - 将数字乘以某个数字
问题描述
我正在尝试将整数乘以 1.1765
https://docs.google.com/spreadsheets/d/1jo06fR0KrZXs6p82tjjuGmOVI0JsVFr3jsT_B5Efn6Y/edit?usp=sharing
以上是样本数据
所以我试图将 pre-spend 列乘以 1.1765
实际支出为预支出 * 1.1765
我尝试了下面的代码
function multiply(){
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1')
var data = sheet.getDataRange().getValues();
var newspend = sheet.getRange(1,1,data.length,1).getValues()*1.1765;
var rng = sheet.getRange(2,2,sheet.getLastRow(), 1);
Logger.log(newspend)
rng.setValues(newspend)
}
但我收到一条错误消息说,
找不到方法 setValues(number)
我认为这是因为事情不在数组中..?
我们应该如何解决这个问题?
解决方案
setFormula
您可以使用插入公式,而不是尝试在这些单元格中插入值。
这个答案可能只是几种可能的方法之一。
function applyformula(){
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
var lastRow = sheet.getLastRow();
Logger.log("DEBUG: the last row is "+lastRow);
var dataRange = sheet.getRange(1,2,lastRow-1,2);
Logger.log("the data range = "+dataRange.getA1Notation());
var variable = 1.1765;
sheet.getRange(2,2,lastRow-1,1).setFormula("=A2*"+variable)
}
推荐阅读
- javascript - 将字符串列表转换为列表 VUE JS
- excel - excel图表中y轴的百分比分布
- python - 使用考拉对空值求和
- installation - Homebrew 特定版本的 sshuttle
- python - Python Serial - 如何解码为字符串
- database - 构建 SQLite 数据库时,第一行附近出现错误“)”
- javascript - Javascript css 两种样式一次取决于布尔“完成”和“学校”
- txt - 我想一次将字符添加到txt文档中所有行的开头和结尾
- drools - jBPM 登录失败:未授权:所有预定义用户都不起作用
- reactjs - 使用 CRSF 和自定义标头在 React 中重定向