前提・実現したいこと
1枚目のシートを2枚目のように自動で修正したいです。
しかし、下記のようなエラーが発生し、その原因を特定できません。
商品リストを、
・属性と仕入先でグルーピング
・属性情報を階層1
・仕入先情報を階層2
・商品情報を階層3
としています。
発生している問題・エラーメッセージ
TypeError: Cannot read property '0' of undefined(行 8、ファイル「コード」)
該当のソースコード
function zokuseiskuFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var ss_copyTo = ss.getSheetByName("出力用"); var lastRow = ss_copyTo.getLastRow(); var values = ss_copyTo.getRange(2,1,lastRow-1,5).getValues(); for(var i=0; i<= values.length ; i++){ if(values[i][0]===""&&values[i+1][0]===""){ values[i][0] = 1; values[i][4] = values[i+2][2]; } if(values[i][0]===""&&values[i+1][0]!==""){ values[i][0] = 2; values[i][3] = values[i+1][2]; values[i][4] = values[i+1][3]; } } var lastColumn = values[0].length; var lastRow = values.length; ss_copyTo.getRange(2,1,lastRow-1,lastColumn).setValues(values); }
試したこと
二次元配列をコピペする際、コピペ先の範囲の要素数と二次元配列の要素数が同じであるかどうかは確認済みです。
他に問題があるのかなと思いました。
補足情報(FW/ツールのバージョンなど)
上記のような異様な表を作成している背景としては、
・某ソフトから出力した際、1枚目のような形式になる
・2枚目のような形式に修正し、それを別のシートに転記する予定
・階層ごとに関数を変えて、属性ごとの売上、仕入先ごとの売上等をまとめてみれるようにする
こういったものがありまして、なぜこの形式で作成するのかといった疑問はスルーしていただけると幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/13 01:40