前提・実現したいこと
・商品管理表をつくっています
・操作する商品は1万点くらいデータがあります。
・売上シートにて売上が立った商品を入力した際に、
・商品管理表に3項目くらいを
・同じ管理番号の指定した列・行にコピーしたい(書き込みたい)
発生している問題・エラーメッセージ
配列をfilterにかけて抽出したデータについて、
filterで条件をかける際に
[1]のセルに値がはいっていて、かつ 管理番号が同じ場合
という条件をしたいけどできない
該当のソースコード
javascript
1function hoge() { 2 var editedData = getEditData(); 3 var idColumnIndex = 6; 4 5 var masterSheet = _getSheet('商品管理表'); 6 var rowIndex = 3; 7 var colStartIndex = 1; 8 var rowNum = masterSheet.getLastRow(); 9 var masterSheetRange = masterSheet.getRange(rowIndex, colStartIndex, rowNum, 11); 10 var masterSheetData = masterSheetRange.getValues(); 11 12 var row = []; 13 editedData.forEach(function(x, i) { 14 15 var data = masterSheetData.filter(function(a) { 16 return x[0] === a[1]; 17 //ここでa[1]の値がはいってるかどうかもみたい 18 }); 19 20 //Logger.log(x); // [21088-2, 50000.0, Tue Oct 02 16:00:00 GMT+09:00 2018, false, 楽天] 21 //Logger.log(data); //[[1.0, 21088-2, ティファニー, アクセサリー, シルバーピアス, , Mon Jun 04 16:00:00 GMT+09:00 2012, 1000.0, 青葉台, 楽天, Tue Oct 02 16:00:00 GMT+09:00 2018]][18-10-05 11:35:15:198 JST] [[2.0, 21862-1, , その他, 貿易銀貨, , Fri Jun 28 16:00:00 GMT+09:00 2013, 3000.0, 店頭, , ]] 22 23 //10 売り先 11売れ日 12販売金額 24 masterSheet.getRange(parseInt(data[0][0],10)+1,10).setValue(x[4]); 25 masterSheet.getRange(parseInt(data[0][0],10)+1,11).setValue(x[2]); 26 masterSheet.getRange(parseInt(data[0][0],10)+1,12).setValue(x[1]); 27 }); 28}
回答2件
あなたの回答
tips
プレビュー