前提・実現したいこと
GASプログラミングは全くの初心者でYouTubeなどの動画を見て独学してきましたが、いよいよやり方が分からずご教示いただきたくご質問させていただきました。
現在、営業結果資料を作成しております。営業先に出向き資料を配布し、連絡のあったところから回収という流れで、その配布数と回収数、場所などを表に自動でまとめたいと考えております。いずれ回収率なども自動化と考えていますが、数字を社員に意識させるために、ひとまずここまでやりたいと思います。
ここに質問の内容を詳しく書いてください。
図1がDBで、図2が表です。表は各シート同じです
・年代(入社年)ごとのシートに情報を自動転記したい
・日時と地域、地区、配布数と回収数を年代ごとのシートに反映させる
・移動場所が「同一」の時は、F列に地区が入り、以降は「配布数・回収数」の繰り返しでL列まで数字が入ります。「複数」の時は、「地区・配布数・回収数」の入力が3回続きます。
これを年代ごとのシートにある表に反映させたいです。
表には、「日時・地域・回収数・地区」を入れ、配布数と回収数の間には、回収数が多ければ「<」、少なければ「>」を、同じなら「△」が自動で入るようにしたいです。
数字は、2列で1セットです(G・H、I・J、K・L)
移動場所が複数の時は、3列で1セット(M・N・O、P・Q・R、S・T・U)
発生している問題・エラーメッセージ
・各シートを取得するまではできたのですが、その先どうやって進めて良いのかで詰まってしまいました。
エラーメッセージ
該当のソースコード
GAS
1 2 //スプレッドシートの全シートを取得 3 var ss = SpreadsheetApp.getActiveSpreadsheet(); 4 5 //スプレッドシートを入社年別に取得 sh00は2000年入社、DBはDB 6 var shDB = ss.getSheetByName("DB"); 7 var sh00 = ss.getSheetByName("2000"); 8 var sh14 = ss.getSheetByName("2014"); 9 var sh16 = ss.getSheetByName("2016"); 10 var sh17 = ss.getSheetByName("2017"); 11 var sh19 = ss.getSheetByName("2019"); 12 var sh20 = ss.getSheetByName("2020"); 13 14 //DBシートの最終行と最終列を取得 15 var DBLR = shDB.getLastRow(); 16 var DBLC = shDB.getLastColumn(); 17 //Logger.log(DBLR); 18 19 //DBシート(DBList)全てのデータを二次元配列として取得する。B2を起点に縦横の情報を取得 20 //DBListはDBシートの中のB2を起点に全ての情報が入っている 21 var DBList = shDB.getRange(2, 2,DBLR,DBLC).getValues();
試したこと
動画などから多数のコードを入力して実行したものの、自分でも何を打ち込んでいるのか分からず試行コードを消してしまいました…
補足情報(FW/ツールのバージョンなど)
引き続き、自分でも試行錯誤しながらやっているものの、うまくいきません。
お力をお借りしたく存じます。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。