이 코드로 A 열에 나열된 값을 읽는 Google 스프레드 시트 스크립트가 있습니다.
var values = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("master").getDataRange().getValues()
for(n=2;n<values.length;++n){
var data = values[n][0] ; // read values in column A
}
AI 열의이 데이터를 사용하여 API 호출을 수행하고 API 요청의 데이터를 다차원 배열 'resultRow'에 저장합니다.
B, C, D, E, .... 열에 resultRow를 출력하여 제품 번호에 해당하는 각 행이 옆에 배치되도록하려면 어떻게해야합니까?
| column A | column B | column C | column D | column E |
| 79327492 | resultRow[0,0] | resultRow[0,1] | resultRow[0,2] |
| 78828388 | resultRow[1,0] | resultRow[1,1] |
| 74629642 | resultRow[2,0] | resultRow[2,1] | resultRow[2,2] | resultRow[2,3] |
난 노력 했어
var range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("master").getRange(3,2,rows,columns); // rows = amount of rows, columns = amount of columns
range.setValues([resultRow]);
하지만이 오류가 계속 발생합니다. 범위 높이가 잘못되었습니다. 1 이었지만 14 여야합니다.
시트 레이아웃에서 볼 수 있듯이 행의 길이는 행마다 다를 수 있습니다. setValues(2D-Array)
2D 배열의 각 요소가 정확히 동일한 길이를 가져야하므로 요구 사항을 충족하도록 결과 배열을 수정해야합니다.
이것은 여러 가지 방법으로 수행 할 수 있습니다. 아래는 가장 우아한 방법은 아니지만 가능한 한 가지 방법입니다.
첫 번째 함수 인 testArray는 단순히 비균질 2D 배열을 생성하여 설명하고 사용 사례를 제공합니다. 시트에서 비어 있지 않은 값을 가져와 2D 배열로 수집합니다. 내가 사용한 시트에는 많은 빈 셀과 무작위가 있습니다. 데이터 ...)
function testArrays(){
var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
Logger.log('original array : \n\n'+JSON.stringify(values)+'\n');
Logger.log('row Length = '+values[0].length+'\n');
var resultArray = [];
for(var n=0;n<values.length;n++){
var rowArray = [];
for(var m=0;m<values[0].length;m++){
if(values[n][m] != ''){
rowArray.push(values[n][m]);
}
}
resultArray.push(rowArray);
}
Logger.log('wrong array : \n'+JSON.stringify(resultArray)+'\n');
resultArray = normalizeTwoDimArray(resultArray,values[0].length);
Logger.log('normalized array : \n'+JSON.stringify(resultArray));
SpreadsheetApp.getActiveSheet().getDataRange().setValues(resultArray)
}
function normalizeTwoDimArray(array,maxLength){
for(var n=0;n<array.length;n++){
if(array[n].length<maxLength){
for(var m = array[n].length ; m < maxLength ; m++){
array[n].push('');
}
}
}
return array;
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다