GAS開発者向けにスプレッドシートの表示形式数字設定機能をすべてまとめました。
セルの数字データの表示形式を変えたい時は結構ありますね。
パーセントや¥を付けたり、日付をYYYY/MM/DD形式にしたり、時間をhh:mm:ss秒まで表示したり。
特に日付の変換は、いろいろな用途に使えるので、カスタム設定を使いこなすと便利です。
誰でもスプレッドシートで数値データを扱う場面が多々あると思うので極めて損はありませんね。
表示形式数字設定に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。
まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。
GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。
基本的な仕様やよく使われる機能の設定方法がまとまっています。
※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。
数字フォーマット一覧
表示形式数字設定例の一覧です。
数字フォーマット
基本的なフォーマットです。
数字/日時 | 位置 | 設定内容 |
---|---|---|
数字 | 自動 | .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");
}
名前 | タイプ | 説明 |
---|---|---|
numberFormat | String | 数値フォーマット文字列。 |
Return
Range - 連鎖用のセル範囲。
表示形式数字配列設定[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);
}
名前 | タイプ | 説明 |
---|---|---|
numberFormats | Object[][] | 数値フォーマットの2次元配列。 |
Return
Range - 連鎖用のセル範囲。
セル範囲クラス[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');
}
名前 | タイプ | 説明 |
---|---|---|
numberFormat | String | 数値フォーマット文字列。 |
Return
RangeList - 連鎖用のセル範囲リスト。
最後に
GAS表示形式数字設定機能のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓
ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。
コメント