Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google脚本返回的不是数字_Javascript_Google Apps Script_Google Sheets_Spreadsheet_Google Apps - Fatal编程技术网

Javascript Google脚本返回的不是数字

Javascript Google脚本返回的不是数字,javascript,google-apps-script,google-sheets,spreadsheet,google-apps,Javascript,Google Apps Script,Google Sheets,Spreadsheet,Google Apps,我已经在谷歌脚本上工作了一段时间,但我似乎找不到解决问题的方法。我要做的是将电子表格上两个单元格的内容与我的函数calculateRates()相乘。这是我的密码: /** @customFunction */ function calculateRates(hourDecimal, personRate) { var ss = SpreadsheetApp.getActiveSpreadsheet(); //Access spreadsheet var sheet = ss.getS

我已经在谷歌脚本上工作了一段时间,但我似乎找不到解决问题的方法。我要做的是将电子表格上两个单元格的内容与我的函数
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;
}

问题是,在我指定两个单元格相乘作为电子表格上函数的参数后,出现了一个错误,显示“结果不是一个数字”。我知道我的电子表格上的函数是正确的,所以这不可能是问题。。。。。有什么想法吗?谢谢你的帮助

当您尝试使用并非所有数字的值(例如数字和字符串)执行计算时,会发生此错误

Google Sheets根据单元格的值存储数据,这些值可能是
数字
布尔值
日期
,或
字符串
(空单元格将返回空字符串)。当
自定义函数使用这些值时,应用程序脚本将它们视为JavaScript中的适当数据类型


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

当您尝试使用不全是数字的值(例如数字和字符串)执行计算时,会发生此错误

Google Sheets根据单元格的值存储数据,这些值可能是
数字
布尔值
日期
,或
字符串
(空单元格将返回空字符串)。当
自定义函数使用这些值时,应用程序脚本将它们视为JavaScript中的适当数据类型


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

是否从电子表格UI调用该函数?在单元格中键入“=计算(B1,C1)”的示例?另外,您只需要将设置为参数的单元格相乘,您真的没有使用函数的前4行,或者有更多的代码?最后,这些值是手动输入的,或者是某个函数的结果?是的,我正在从电子表格调用该函数。有更多的代码,但在一个单独的功能,这是工作,但这个功能我有麻烦。对不起,我是一个初学者,所以我不知道我是否必须回忆起我认为的所有电子表格对象。对于值,一个值是手动输入的,而另一个值是函数的结果。您是否从电子表格UI调用该函数?在单元格中键入“=计算(B1,C1)”的示例?另外,您只需要将设置为参数的单元格相乘,您真的没有使用函数的前4行,或者有更多的代码?最后,这些值是手动输入的,或者是某个函数的结果?是的,我正在从电子表格调用该函数。有更多的代码,但在一个单独的功能,这是工作,但这个功能我有麻烦。对不起,我是一个初学者,所以我不知道我是否必须回忆起我认为的所有电子表格对象。至于值,一个值是手动输入的,而另一个值是函数的结果。现在似乎正在工作。。。。。将单元格的内容转换为浮点数,这就成功了。谢谢似乎正在工作。。。。。将单元格的内容转换为浮点数,这就成功了。谢谢