내 Google 스프레드 시트에서 데이터를 가져 오는 Google Apps Script에 다음 코드가 있으며 행 15 (마지막 행)는라는 오류를 반환합니다 TypeError: percent1.setNumberFormats is not a function (line 15, file "Code")
. 이 문제를 해결하려면 무엇을 변경해야합니까?
내가 원하는 것은 다음 dod1
과 같은 백분율 형식으로 표시 하고 싶습니다.0.00%
function notifySlack(message) {
var url = 'https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxx/edit#gid=xxxxxxxxx';
var spreadSheet = SpreadsheetApp.openByUrl(url);
var allSheets = spreadSheet.getSheets();
var theSheet = allSheets[1];
var lastRow = theSheet.getLastRow();
var lastColumn = theSheet.getLastColumn();
var sheetData = theSheet.getSheetValues(1, 1, lastRow, lastColumn);
var ymd = Utilities.formatDate(sheetData[44][0], 'Asia/Tokyo', 'yyyy-MM-dd');
var data1 = sheetData[44][1];
var percent1 = sheetData[44][1] / sheetData[43][1];
var dod1 = percent1.setNumberFormat('0.00%');
}
sheetData[44][1]
및 값이 sheetData[43][1]
숫자 일 때 percent1
of var percent1 = sheetData[44][1] / sheetData[43][1];
는 숫자입니다. 그것들이 문자열 percent1
이면 NaN
.setNumberFormat
Class Class Range의 방법입니다. Ref이러한 상황에서 스크립트에 오류가 발생합니다. 이것이 문제의 이유입니다. 안타깝게도 귀하의 스크립트에서 귀하의 목표에 대해 자세히 이해할 수 없습니다. 그래서이 답변에서는 제가 추측 한 목표에 대해 2 가지 패턴을 제안하고 싶습니다.
이 패턴에서의 값 percent1
의은 var percent1 = sheetData[44][1] / sheetData[43][1];
으로 변경된다 0.00%
. 이 경우의 값은 dod1
문자열이됩니다.
var dod1 = percent1.setNumberFormat('0.00%');
에:
var dod1 = Utilities.formatString("%1.2f%", percent1 * 100);
이 패턴에서는 사용 방법을 setNumberFormat
설명합니다. 활성 시트에서 "A1"셀의 숫자 형식을 수정하려는 경우 다음 스크립트를 사용할 수 있습니다. 이 경우 "A1"셀의 값을 숫자로 사용할 수 있습니다.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1");
range.setNumberFormat('0.00%');
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다