実現したいこと
- スプレッドシートにて、GASを用いて以下を行いたいです。
【転記先】シートの一行目の日付が「今日」と一致した場合、
【転記元】シートの指定範囲の値をコピーして、【転記先】シートの指定範囲にペーストする。
例
-
リストコピペの実行条件
- 【転記先】シート1行目の日付が今日と一致した場合
-
コピー元
- 【転記元】シートの、2行1列から2行6列(A2:A6) ※コピーしたい範囲は常に固定
-
ペースト先
- 【転記先】シートの、今日と一致した日付がある列の3行目から7行目 ※ここの書き方がわかっていません。
該当のソースコード
JavaScript
1function transfer() { 2 3 //使用するシートを取得 4 const ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得 5 const original_sheet = ss.getSheetByName('【転記元】'); //転記元のシートを取得 6 const posted_sheet = ss.getSheetByName('【転記先】'); //転記先のシートを取得 7 8 const lastcolumn = posted_sheet.getLastColumn(); 9 const now = new Date(); 10 const nowMonth = now.getMonth() + 1; 11 const nowDay = now.getDate(); 12 13 let sheetMonth, sheetDay; 14 for (let i = 1; i <= lastcolumn; i++) { 15 const sheetDate = posted_sheet.getRange(1, i); //数字は日付がある行 16 sheetMonth = sheetDate.getValue().getMonth() + 1; 17 sheetDay = sheetDate.getValue().getDate(); 18 19 const original_values = original_sheet.getRange('A2:A6').getValues(); 20 21 if (sheetMonth === nowMonth && sheetDay === nowDay) { //シートの日付が今日だったら以下を実行 22 return posted_sheet.getRange('A3:A7').setValues(original_values); 23 } 24 } 25 return ""; 26 27 }
わからないこと
- 【転記先】シートで、今日と一行目の日付が一致した場合、日付が一致した列にペーストする処理
転記自体は行えていますが、上記の処理の書き方がわかっておりません。
現状A3:A7固定でペーストになっていますが、日付が一致した列の3行目から7行目にペーストするようにしたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/04/16 14:01