【GAS】スプレッドシートの表示形式数字設定機能まとめ【サンプルソース付】

快速ワーク
スポンサーリンク

GAS開発者向けにスプレッドシートの表示形式数字設定機能をすべてまとめました。

セルの数字データの表示形式を変えたい時は結構ありますね。

パーセントや¥を付けたり、日付をYYYY/MM/DD形式にしたり、時間をhh:mm:ss秒まで表示したり。

特に日付の変換は、いろいろな用途に使えるので、カスタム設定を使いこなすと便利です。

誰でもスプレッドシートで数値データを扱う場面が多々あると思うので極めて損はありませんね。

表示形式数字設定に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。


スポンサーリンク

Google Apps Script スプレッドシート 基礎 リファレンス

当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。

若干、文言がおかしい可能性がありますが、あらかじめご了承ください。

 

GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。

【GAS】スプレッドシート基本メソッドまとめ一覧【初心者入門】
GAS開発者向けにスプレッドシートの基本的なメソッドを一覧にまとめました。各機能ごとのクラス、メソッドごとのサンプルソース付ページへリンクする一覧です。初心者にとって、スプレッドシートの基本的な操作・機能単位のメソッドを知...

 

まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。

【GAS】Googleスプレッドシートでマクロの使い方入門【動画付】
Googleの「Google Apps Script」通称GAS。GoogleマップやGメールなど、いろんなGoogle関連のサービスと自由に連携できたり、独自のWebアプリを開発することもできる、いろんな可能性を秘めたワクワクの...

 

GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。

基本的な仕様やよく使われる機能の設定方法がまとまっています。

※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。


数字フォーマット一覧

表示形式数字設定例の一覧です。

数字フォーマット
基本的なフォーマットです。

Format
数字/日時位置設定内容
数字自動.setNumberFormat('General')
書式なしテキスト.setNumberFormat('@')
数値.setNumberFormat('#,##0.00')
パーセント.setNumberFormat('0.00%')
指数.setNumberFormat('0.00E+00')
会計.setNumberFormat('_([$¥-411]* #,##0.00_);_([$¥-411]* \\(#,##0.00\\);_([$¥-411]* "-"??_);_(@_)')
会計(\なし).setNumberFormat('#,##0.00;(#,##0.00)')
通貨.setNumberFormat('[$¥-411]#,##0.00')
通貨(端数切り捨て).setNumberFormat('[$¥-411]#,##0')
日時日付.setNumberFormat('yyyy/MM/dd')
時間.setNumberFormat('H:mm:ss')
日時.setNumberFormat('yyyy/MM/dd H:mm:ss')
経過時間.setNumberFormat('[h]:mm:ss')
その他その他の通貨(例).setNumberFormat('[$¥]#,##0')
その他の日付や時刻の形式(例).setNumberFormat('yyyy"年"m"月"d"日"')
カスタム数値形式(例).setNumberFormat('#,##0_);[Red](#,##0)')


セル範囲クラス[Range]の表示形式数字設定

セル範囲の表示形式数字設定メソッドです。

表示形式数字設定[setNumberFormat(数字フォーマット)]

setNumberFormat(numberFormat)
数値または日付の形式を指定の形式設定ストリングに設定します。受け入れられているフォーマットパターンはSheets APIドキュメントに記述されています。

function setNumberFormatSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var cell = sheet.getRange("B2");
  // 常に小数点を3つ表示する
  cell.setNumberFormat("0.000");
}
Parameters
名前タイプ説明
numberFormatString数値フォーマット文字列。

Return
Range - 連鎖用のセル範囲。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setNumberFormat(numberFormat)

表示形式数字配列設定[setNumberFormats(数字フォーマット's)]

setNumberFormats(numberFormats)
数値形式または日付形式の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。値は、Sheets APIドキュメントに記載されているフォーマットパターン文字列です。

function setNumberFormatsSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  // 2次元配列のサイズは範囲のサイズと一致する必要があります。
  var formats = [
    [ "0.000", "0,000,000", "$0.00" ]
  ];

  var range = sheet.getRange("B2:D2");
  range.setNumberFormats(formats);
}
Parameters
名前タイプ説明
numberFormatsObject[][]数値フォーマットの2次元配列。

Return
Range - 連鎖用のセル範囲。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setNumberFormat(numberFormat)




セル範囲クラス[Range]の表示形式数字取得

セル範囲の表示形式数字取得メソッドです。

表示形式数字取得[getNumberFormat()]

getNumberFormat()
与えられた範囲の左上のセルの数または日付フォーマットを取得します。返されたフォーマットパターンはSheets APIドキュメントで説明されています。

function getNumberFormatSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var cell = sheet.getRange("C4");
  Logger.log(cell.getNumberFormat());
}

Return
String - 範囲の左上のセルの数値フォーマット。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getNumberFormat()

表示形式数字配列取得[getNumberFormats()]

getNumberFormats()
範囲内のセルの数値または日付フォーマットを返します。返されたフォーマットパターンはSheets APIドキュメントで説明されています。

function getNumberFormatsSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var range = sheet.getRange("B5:C6");
  var formats = range.getNumberFormats();
  for (var i in formats) {
    for (var j in formats[i]) {
      Logger.log(formats[i][j]);
    }
  }
}

Return
String[][] - 数値フォーマットの2次元配列。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getNumberFormats()


セル範囲リストクラス[RangeList]の表示形式数字設定

セル範囲の表示形式数字設定メソッドです。

表示形式数字設定[setNumberFormat(数字フォーマット)]

setNumberFormat(numberFormat)
範囲リストの各範囲に数値または日付の形式を設定します。

許容される書式設定パターンは、Sheets APIの日付と番号の書式設定ガイドに記載されています。

function setNumberFormatSample() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rangeList = sheet.getRangeList(['A1:A10', 'C1:C10']);
  // 指定された範囲に対して常に3つの小数点を表示します。
  rangeList.setNumberFormat('0.000');
}
Parameters
名前タイプ説明
numberFormatString数値フォーマット文字列。

Return
RangeList - 連鎖用のセル範囲リスト。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | setNumberFormat(numberFormat)


最後に

GAS表示形式数字設定機能のまとめをご紹介させていただきました。

必要に応じて、有益な情報でさらに更新していきたいと思います。

プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。

実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。

実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。

自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。

GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。

Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓

Googleスプレッドシートの使い方や機能がわかるショートカットキー全まとめ一覧【初心者こそ必見】
表計算ソフトとして、まだまだExcelのシェア率は高いですが、GoogleスプレッドシートにはExcelにはない超強力な関数があったり、Excelとは違って常に最新版を無料で使用できます。なにより、インターネットを使ったオンライン...

ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。




コメント

//▼2023/04/08追加 //https://lovagelab.com/posts/3406/ //▲2023/04/08追加