【GAS】スプレッドシートのクリア機能まとめ【サンプルソース付】

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

GAS開発者向けにスプレッドシートのクリア機能をすべてまとめました。

セルのデータや書式を初期化、リセットして改めてやり直す場合は結構頻繁にあると思います。

クリアの対象や方法はいろいろあります。シートまるごとだったり、値のみや書式のみだったり、条件付き書式や入力規則、メモ、範囲リストでまとめてクリア、などなど。

ゴミは残さず、気持ちよく綺麗さっぱりクリアしましょう。

クリアに関するメソッドをすべて載せてます。少しでも参考になれば幸いです。


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

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

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

 

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

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

 

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

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

 

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 });
}
Parameters
名前タイプ説明
optionsObject以下にリストされている詳細オプションを含むJavaScriptマップ。
Advanced parameters
名前タイプ説明
contentsOnlyBoolean内容をクリアするかどうか。
formatOnlyBooleanフォーマットをクリアするかどうか。

Return
Sheet - 連鎖用のシート。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | clear(options)

条件付き書式クリア[clearConditionalFormatRules()]

clearConditionalFormatRules()
シートからすべての条件付き書式規則をクリアします。空の配列を入力としてsetConditionalFormatRules(rules)を呼び出すのと同じです。

function sheetConditionalFormatRulesclearSample() {
  var sheet = SpreadsheetApp.getActiveSheet(); // アクティブシート
  sheet.clearConditionalFormatRules();
}

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | 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});
}
Parameters
名前タイプ説明
optionsObject以下に示すように、高度なパラメータを指定するJavaScriptオブジェクト。
Advanced parameters
名前タイプ説明
commentsOnlyBooleanコメントだけをクリアするかどうか。
contentsOnlyBoolean内容だけをクリアするかどうか。
formatOnlyBooleanフォーマットのみをクリアするかどうか。フォーマットをクリアすると、データの入力規則もクリアされることに注意してください。
validationsOnlyBooleanデータの入力規則のみをクリアするかどうか。
skipFilteredRowsBooleanフィルタリングされた行をクリアしないようにするかどうか。

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});
}
Parameters
名前タイプ説明
optionsObject以下に示すように、高度なパラメータを指定するJavaScriptオブジェクト。
Advanced parameters
名前タイプ説明
commentsOnlyBooleanコメントだけをクリアするかどうか。
contentsOnlyBoolean内容だけをクリアするかどうか。
formatOnlyBooleanフォーマットのみをクリアするかどうか。フォーマットをクリアすると、データの入力規則もクリアされることに注意してください。
validationsOnlyBooleanデータの入力規則のみをクリアするかどうか。
skipFilteredRowsBooleanフィルタリングされた行をクリアしないようにするかどうか。

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スプレッドシート全ショートカットキー一覧はこちら↓↓↓

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

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




コメント