Google Scripts возвращает не число

Я немного работал над 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;
}

Проблема в том, что после того, как я назначил две ячейки для умножения вместе в качестве параметров функции в электронной таблице, возникает ошибка, которая гласит: «Результат не был числом». Я знаю, что у меня есть правильная функция в моей электронной таблице, так что это не может быть проблемой ..... Есть идеи? Спасибо за вашу помощь!

 ocordova02 авг. 2016 г., 00:13
Вы вызываете функцию из пользовательского интерфейса электронной таблицы? Например, в ячейке, которую вы вводите '= CalculateRates (B1, C1)'? Кроме того, вы только умножаете ячейки, которые вы задали в качестве аргументов, вы действительно не используете первые 4 строки своей функции или есть больше кода? И, наконец, эти значения вводятся вручную или являются результатом какой-либо функции?
 jgnibo02 авг. 2016 г., 04:54
Да, я вызываю функцию из электронной таблицы. Там больше кода, но в отдельной функции, которая работает, но с этой функцией у меня проблемы. Извините, я новичок, поэтому я не знаю, нужно ли мне вспомнить все объекты электронной таблицы, которые я думаю. Что касается значений, одно значение вводится вручную, а другое - как результат функции.

Ответы на вопрос(1)

Решение Вопроса

Эта ошибка возникает, когда вы пытаетесь выполнить вычисления со значениями, которые не являются всеми числами, например, Number и String.

Google Sheets хранит данные в зависимости от значения ячейки, значения могут быть типаNumber, Boolean, Date, или жеString (Пустые ячейки вернут пустую строку). Когда эти значения используютсяCustom FunctionsApps Script рассматривает их как соответствующий тип данных в JavaScript.

Необходимо убедиться, что значения ячеек являются числами, примите во внимание, что если ячейка содержит некоторое пространство или другие нечисловые символы, такие как"2 2" или же"3/2" он будет обрабатываться как строка, и вам нужно будет обрезать или извлечь эти специальные символы перед любым вычислением.

 jgnibo03 авг. 2016 г., 06:04
Кажется, сейчас работает ... преобразовал содержимое ячейки в float, и это помогло. Спасибо!

Ваш ответ на вопрос