行いたいこと
かなり前にスプレッドシートのショートカットから書式を変更してみました。
その時の記事はこちら
今回はGASから書式を変更してみたいと思います。
↓ 今回のゴールイメージ
書式を設定するコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
function myFunction_format() { /*********************** * スプレッドシートの指定 ***********************/ // 現在開いているスプレッドシートを読み込む let active_sheet01 = SpreadsheetApp.getActiveSpreadsheet(); // スプレッドシートに新しいシートを追加挿入 let newSheet = active_sheet01.insertSheet(0); // タイトル部分は固定 let B02 = newSheet.getRange(2,2); let C02 = newSheet.getRange(2,3); let D02 = newSheet.getRange(2,4); let E02 = newSheet.getRange(2,5); let F02 = newSheet.getRange(2,6); // タイトル部分(A-D列) B02.setValue("果物"); C02.setValue("価格"); D02.setValue("個数"); E02.setValue("合計金額"); F02.setValue("購入日"); // A列の果物 let A03 = newSheet.getRange(3,2); let A04 = newSheet.getRange(4,2); let A05 = newSheet.getRange(5,2); let A06 = newSheet.getRange(6,2); // A列への書き込み A03.setValue("ばなな"); A04.setValue("りんご"); A05.setValue("みかん"); A06.setValue("いちご"); /******************************************************* * 価格と個数をランダムで設定し、合計は数式を使用して書き込む *******************************************************/ for(let i = 3; i <= newSheet.getLastRow(); i++){ // 価格のランダム newSheet.getRange(i,3).setValue(Math.floor(Math.random()*1000)+1); // 個数のランダム newSheet.getRange(i,4).setValue(Math.floor(Math.random()*10)+1); // 合計(D列)は数式を使用する // =B列i行目 * C列i行目 newSheet.getRange(i,5).setValue("=C" + i + "*" + "D" + i); // 日付表示 let date = Utilities.formatDate(new Date(), "JST","yyyy/MM/dd"); newSheet.getRange(i,6).setValue(date); } /******************************************************* * C列(価格):¥表示にする * D列(個数):3桁設定にする 001 * F列(購入日):xxxx/xx/xx(曜日)にする *******************************************************/ var d_range = newSheet.getRange(3, 4, newSheet.getLastRow(), 4); var e_range = newSheet.getRange(3, 5, newSheet.getLastRow(), 5); var f_range = newSheet.getRange(3, 6, newSheet.getLastRow(), 6); d_range.setNumberFormat("000") e_range.setNumberFormat("#,###") f_range.setNumberFormat("yyyy/mm/dd(ddd)") } |
解説
「setNumberFormat」で書式を設定します。
・(“000”)で3桁区切り
・(“#,###”)で桁数区切り
・(“yyyy/mm/dd(ddd)”)で日付と曜日
をそれぞれ設定しています。
setNumberFormatに関しては様々な設定が行えますので、
是非調べて設定してみてください。
今回は以上となります。
最後までお読みいただきありがとうございました!