2017-10-19 11 views
0

このスクリプトを実行すると長さエラーが発生しますが、条件をコメントアウトしてすべてを引き上げると問題は発生しません。 "sp.getRange(1,1、data.length、data [0] .length).setValues(data);"Google App Script TypeError:プロパティ "length"を未定義から読み取ることができません

カラム22が私が望むカラムであることを3回チェックしました。 )、その列には「Denver」という基準がありますが、データには何も返されません。

いずれの説明も理解できます。

function Packaging() { 
var t = SpreadsheetApp.openById('1kNq2irlV39yDRtuJPrkb3-572guw4wn9UsR2t5_I0pR'); 

//Grab PACKAGING COST 
var pp = t.getSheetByName('RawData'); 
var ppk = pp.getRange(1,1,pp.getLastRow(),pp.getLastColumn()).getValues(); 
var data = []      
for (var i = 0; i< ppk.length ; i++){ 
if(ppk[i][22] == "Denver")   
{ 
data.push(ppk[i]) 
} 
} 

//Write in current sheet 
var s = SpreadsheetApp.getActiveSpreadsheet(); 


//Write Packaging 
var sp = s.getSheetByName('PackagingCost2'); 
sp.getRange(1,1,sp.getLastRow(),sp.getLastColumn()).clearContent(); 
sp.getRange(1,1,data.length,data[0].length).setValues(data); 
//sp.getRange(1,1,ppk.length,ppk[0].length).setValues(ppk); 

} 

答えて

1

問題は、JavaScriptの配列は0から始まるインデックス、そう、列Vを使用することであることの指標ではなく、22と21があり、列Vが最後の列であるので、あなたは、未定義のエラーメッセージが表示されます。

関連する問題