繁体   English   中英

谷歌脚本返回不是一个数字

[英]Google Scripts Returning Not a Number

我一直在研究Google Scripts,但我似乎无法找到问题的解决方案。 我想要做的是将电子表格中两个单元格的内容与我的函数calculateRates()相乘。 这是我的代码:

/** 
@customFunction
*/
function calculateRates(hourDecimal, personRate) {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); //Access spreadsheet
  var sheet = ss.getSheets()[0];  //Access sheet

  var range = sheet.getDataRange(); //Access all cells

  var values = range.getValues(); //Call to get value of certain cell

  var totalEarned = hourDecimal * personRate;
  Logger.log(totalEarned);

  return totalEarned;
}

问题是,在我指定两个单元格作为电子表格中函数的参数相乘后,会出现一个错误,上面写着“结果不是数字”。 我知道我的电子表格上的功能正确,所以这不是问题.....任何想法? 谢谢你的帮助!

当您尝试使用不是所有数字的值执行计算时会发生此错误,例如Number和String。

Google表格根据单元格的值存储数据,值可以是NumberBooleanDateString (空单元格将返回空字符串)。 Custom Functions使用这些值时,Apps Script会将它们视为JavaScript中的相应数据类型。

您需要确保单元格的值是数字,考虑到如果单元格包含一些空格或其他非数字字符,如"2 2""3/2" ,它将被视为字符串,您将需要在任何计算之前修剪或提取这些特殊字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM