GAS開発者向けにスプレッドシートのクリア機能をすべてまとめました。
セルのデータや書式を初期化、リセットして改めてやり直す場合は結構頻繁にあると思います。
クリアの対象や方法はいろいろあります。シートまるごとだったり、値のみや書式のみだったり、条件付き書式や入力規則、メモ、範囲リストでまとめてクリア、などなど。
ゴミは残さず、気持ちよく綺麗さっぱりクリアしましょう。
クリアに関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。

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

GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。
基本的な仕様やよく使われる機能の設定方法がまとまっています。
※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。
シートクラス[Sheet]のクリア
シートのクリアメソッドです。いろんなクリア方法すべてを記載してます。
クリア1[clear()]
clear()
シートとフォーマット情報をクリアします。
function sheetClear1Sample() {
// この例では "first"という名前のシートがあると仮定しています
var ss = SpreadsheetApp.getActiveSpreadsheet(); // アクティブスプレッドシート
var first = ss.getSheetByName("first");
first.clear();
}
Return
Sheet - クリアシート。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | clear()
クリア2[clear(オプション)]
clear(options)
与えられた詳細オプション指定でシートやフォーマットをクリアします。
function sheetClear2Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet(); // アクティブスプレッドシート
var sheet = ss.getSheets()[0];
sheet.clear({ formatOnly: true, contentsOnly: true });
}
名前 | タイプ | 説明 |
---|---|---|
options | Object | 以下にリストされている詳細オプションを含むJavaScriptマップ。 |
名前 | タイプ | 説明 |
---|---|---|
contentsOnly | Boolean | 内容をクリアするかどうか。 |
formatOnly | Boolean | フォーマットをクリアするかどうか。 |
Return
Sheet - 連鎖用のシート。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | clear(options)
条件付き書式クリア[clearConditionalFormatRules()]
clearConditionalFormatRules()
シートからすべての条件付き書式規則をクリアします。空の配列を入力としてsetConditionalFormatRules(rules)を呼び出すのと同じです。
function sheetConditionalFormatRulesclearSample() {
var sheet = SpreadsheetApp.getActiveSheet(); // アクティブシート
sheet.clearConditionalFormatRules();
}
値クリア[clearContents()]
clearContents()
フォーマット情報を保持しながら、シートをクリアします。
function sheetContentsAllclearSample() {
// この例では、 "first"という名前のシートがあると仮定します。
var ss = SpreadsheetApp.getActiveSpreadsheet(); // アクティブスプレッドシート
var first = ss.getSheetByName("first");
first.clearContents();
}
Return
Sheet - 連鎖用のシート。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | clearContents()
書式クリア[clearFormats()]
clearFormats()
内容を保持しながら、書式設定シートをクリアします。
書式設定とは、セルの幅や高さではなく、[書式設定]メニューの選択で許可されているデータの書式設定方法(太字、斜体、条件付き書式など)を指します。
function sheetFormatsAllclearSample() {
// この例では、 "first"という名前のシートがあると仮定します。
var ss = SpreadsheetApp.getActiveSpreadsheet(); // アクティブスプレッドシート
var first = ss.getSheetByName("first");
first.clearFormats();
}
Return
Sheet - 連鎖用のシート。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | clearFormats()
メモクリア[clearNotes()]
clearNotes()
シートのすべてのメモをクリアします。
function sheetNotesAllclear() {
// この例では、 "first"という名前のシートがあると仮定します。
var ss = SpreadsheetApp.getActiveSpreadsheet(); // アクティブスプレッドシート
var first = ss.getSheetByName("first");
first.clearNotes();
}
Return
Sheet - 連鎖用のシート。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | clearNotes()
セル範囲クラス[Range]のクリア
セル範囲のクリアメソッドです。いろんなクリア方法すべてを記載してます。
クリア1[clear()]
clear()
コンテンツの範囲、フォーマット、およびデータの入力規則をクリアします。
function rangeClear1Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:D10");
range.clear();
}
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | clear()
クリア2[clear(オプション)]
clear(options)
指定された詳細オプションで指定されているように、コンテンツの範囲、フォーマット、データの入力規則、および/またはコメントをクリアします。デフォルトでは、すべてのデータがクリアされています。
function rangeClear2Sample() {
// 以下のコードはアクティブシートの範囲C2:G8をクリアしますが、
// フォーマット、データ検証規則、およびコメントは保持します。
SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).clear({contentsOnly: true});
}
名前 | タイプ | 説明 |
---|---|---|
options | Object | 以下に示すように、高度なパラメータを指定するJavaScriptオブジェクト。 |
名前 | タイプ | 説明 |
---|---|---|
commentsOnly | Boolean | コメントだけをクリアするかどうか。 |
contentsOnly | Boolean | 内容だけをクリアするかどうか。 |
formatOnly | Boolean | フォーマットのみをクリアするかどうか。フォーマットをクリアすると、データの入力規則もクリアされることに注意してください。 |
validationsOnly | Boolean | データの入力規則のみをクリアするかどうか。 |
skipFilteredRows | Boolean | フィルタリングされた行をクリアしないようにするかどうか。 |
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | clear(options)
値クリア[clearContent()]
clearContent()
書式設定を変更せずに、範囲の内容をクリアします。
function rangeClearContentSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:D10");
range.clearContent();
}
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | clearContent()
入力規則クリア[clearDataValidations()]
clearDataValidations()
範囲のデータの入力規則をクリアします。
function rangeClearDataValidationsSample() {
// セルA1:B5のデータの入力規則をクリアします。
var range = SpreadsheetApp.getActive().getRange('A1:B5');
range.clearDataValidations();
}
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | clearDataValidations()
書式クリア[clearFormat()]
clearFormat()
この範囲の書式設定をクリアします。
これにより、範囲内の1つまたは複数のセルのテキストフォーマットがクリアされますが、数値フォーマットの規則はリセットされません。
function rangeClearFormatSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:D10");
range.clearFormat();
}
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | clearFormat()
メモクリア[clearNote()]
clearNote()
特定のセルまたは複数のセルのメモをクリアします。
function rangeClearNoteSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:D10");
range.clearNote();
}
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | clearNote()
セル範囲リストクラス[RangeList]のクリア
セル範囲リストのクリアメソッドです。いろんなクリア方法すべてを記載してます。
クリア1[clear()]
clear()
範囲リスト内の各範囲のコンテンツの範囲、フォーマット、およびデータの入力規則をクリアします。
function RangeListClear1Sample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
rangeList.clear();
}
Return
RangeList - 連鎖用のセル範囲リスト。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | clear()
クリア2[clear(オプション)]
clear(options)
指定されたオプションで指定されているように、コンテンツの範囲、フォーマット、データの入力規則、およびコメントをクリアします。デフォルトでは、すべてのデータがクリアされています。
function rangeListClear2Sample() {
// 以下のコードは、アクティブシートの次の範囲A:AとC:Cの内容を消去しますが、
// 形式、データ検証規則、およびコメントは保持します。
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
rangeList.clear({contentsOnly: true});
}
名前 | タイプ | 説明 |
---|---|---|
options | Object | 以下に示すように、高度なパラメータを指定するJavaScriptオブジェクト。 |
名前 | タイプ | 説明 |
---|---|---|
commentsOnly | Boolean | コメントだけをクリアするかどうか。 |
contentsOnly | Boolean | 内容だけをクリアするかどうか。 |
formatOnly | Boolean | フォーマットのみをクリアするかどうか。フォーマットをクリアすると、データの入力規則もクリアされることに注意してください。 |
validationsOnly | Boolean | データの入力規則のみをクリアするかどうか。 |
skipFilteredRows | Boolean | フィルタリングされた行をクリアしないようにするかどうか。 |
Return
RangeList - 連鎖用のセル範囲リスト。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | clear(options)
値クリア[clearContent()]
clearContent()
範囲リスト内の各範囲の内容をクリアし、フォーマットは変更しません。
function rangeListClearContentSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
rangeList.clearContent();
}
Return
RangeList - 連鎖用のセル範囲リスト。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | clearContent()
入力規則クリア[clearDataValidations()]
clearDataValidations()
範囲リスト内の各範囲のデータの入力規則をクリアします。
function rangeListClearDataValidationsSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
rangeList.clearDataValidations();
}
Return
RangeList - 連鎖用のセル範囲リスト。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | clearDataValidations()
書式クリア[clearFormat()]
clearFormat()
範囲リストの各範囲のテキストフォーマットをクリアします。
これにより、各範囲のテキストフォーマットがクリアされますが、数値フォーマットの規則はリセットされません。
function rangeListClearFormatSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
rangeList.clearFormat();
}
Return
RangeList - 連鎖用のセル範囲リスト。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | clearFormat()
メモクリア[clearNote()]
clearNote()
範囲リストの各範囲の音符をクリアします。
function rangeListClearNoteSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
rangeList.clearNote();
}
Return
RangeList - 連鎖用のセル範囲リスト。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | clearNote()
最後に
GASクリア機能のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓

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