首页 > 解决方案 > 将数字乘以某个数字

问题描述

我正在尝试将整数乘以 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)

我认为这是因为事情不在数组中..?

我们应该如何解决这个问题?

标签: google-apps-scriptgoogle-sheets

解决方案


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)
}

截屏
截屏


推荐阅读