Google Apps Script @福岡

GASで面白Webサービス&コスト削減や!

Google Apps Script 講座初級編「GASでスプレッドシートの列の表示形式を日時に設定する」

はじめに

後藤銃士です。以前作った「GASで月が変わるとスプレッドシートに書込むシートを自動で切り替える」、タイトルどおりなのですが、左列の日時設定、デフォルトですと「日付」形式になるんですね。つまり「2019/01/07」となり時間が表示されません。

毎時間記録していると、24行すべてが「2019/01/07」と表示されて時間の情報がわからないし、わざわざシートが追加されるたびにメニューから設定するのも微妙に面倒。なので最初から「日時」設定にしておきたい。「2019/01/07 22:56:25」のよう最初から表示したい、と思ったので調べました。

今回は「日時」ですがルールがわかってしまえばたいていの形式に変換できるようになります。

この機能が役に立つのは

スプレッドシートを使うとき、ほんのちょっと便利にしたい人向け

今回は初級編「GASでスプレッドシートの列の表示形式を日時に設定する」

対象

  • GAS初級者

学べること

講座スタート

いつもどおりコピペだけで大丈夫です。が、その前に使うスプレッドシートを用意して下さい。

ちなみにA列の表示形式は自動となっています。

f:id:jijyoronn:20190107230612p:plain

用意が出来ましたか?では、

新しくタブを開き「script.google.com」を入力してコードを書ける状態にして下さい。

そしていつもどおり1行目の3行目の間に

  var spreadsheet = SpreadsheetApp.openByUrl('ご自身のスプレッドシートのURL'); 
  var sheet = spreadsheet.getSheetByName("シート1");

  sheet.getRange("A:A").setNumberFormat("yyyy/mm/dd hh:mm:ss"); 

  var today = new Date();
  sheet.getRange(1, 1).setValue(today);

をコピペして保存します。

f:id:jijyoronn:20190108213931p:plain

それでは実行してみましょう。

f:id:jijyoronn:20190107230849p:plain

ちょっと行が狭いですね。なのでこうやって横に伸ばすと…

f:id:jijyoronn:20190107230920p:plain

こんなふうに最初から時間も表示されるようになりました。 便利ですね。

今回は日付のフォーマットを変更してみましたが、例えば金額ですとカンマを自動的に入れたりしますけど、そういった設定も setNumberFormat() を使うと可能になります。

フォーマットの例は以下を追って下さい。

f:id:jijyoronn:20190107231005p:plain

で、カスタム数値形式を選択すると、

f:id:jijyoronn:20190107231016p:plain

表示形式指定サンプルがいろいろ出てくるので、これを真似して、setNumberFormat() に設定すればよいです。 便利だなーと思ったら早速組み込んでみましょう。

今回は以上となります。

ご覧いただきありがとうございました。