1

Google Script에서 조금만 작업 해 왔지만 문제에 대한 해결책을 찾지 못했습니다. 내가 뭘 하려는지는 스프레드 시트에있는 두 셀의 내용에 내 함수 calculateRates()을 곱하는 것입니다. 여기 내 코드입니다 :번호를 반환하지 않는 Google 스크립트

/** 
@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; 
} 

그것으로 문제는 내가 스프레드 시트에 함수의 매개 변수로 함께 번성하는 두 개의 셀을 지정 후라는 오류가 있다는 것입니다 "결과가 숫자가 아니었다." 문제가 될 수 없도록 내 스프레드 시트에서 올바른 기능을 알고 있습니다 ..... 어떤 아이디어입니까? 당신의 도움을 주셔서 감사합니다!

+0

스프레드 시트 UI에서 함수를 호출하고 있습니까? 예를 들어 셀에 '= calculateRates (B1, C1)'을 입력하면 어떻게됩니까? 또한 인수로 설정 한 셀만 곱하면 함수의 처음 4 줄을 사용하지 않거나 더 많은 코드가 사용됩니까? 마지막으로 이러한 값은 수동으로 입력되거나 일부 기능의 결과로 나타 납니까? – ocordova

+0

예, 스프레드 시트에서 함수를 호출합니다. 더 많은 코드가 있지만 작동중인 별도의 함수에 있지만이 함수는 문제가 있습니다. 미안 해요, 초보자입니다. 그래서 제가 생각하기에 모든 스프레드 시트 개체를 기억해야할지 모르겠습니다. 값의 경우 한 값은 수동으로 입력되는 반면 다른 값은 함수의 결과로 입력됩니다. – jgnibo

답변

3

이 오류는 모든 숫자가 아닌 값 (예 : 숫자 및 문자열)을 사용하여 계산을 수행하려고 할 때 발생합니다.

구글 스프레드 시트 데이터를 저장하는 셀의 값에 따라 그 값은 타입 Number, Boolean, Date 될 수 있거나 String (빈 셀은 빈 문자열을 반환 함). 이 값을 Custom Functions에서 사용할 경우 Apps Script는 해당 값을 JavaScript의 적절한 데이터 유형으로 처리합니다.

셀의 값이 숫자인지 확인해야합니다. 셀에 "2 2" 또는 "3/2"과 같이 일부 공백 또는 숫자가 아닌 문자가 포함되어 있으면 문자열로 처리되므로 트리밍 또는 계산 전에 특수 문자를 추출하십시오.

+0

현재 작동하고있는 것으로 보입니다. 셀의 내용을 수레로 변환하여 트릭을 만들었습니다. 감사! – jgnibo

관련 문제