Google Apps Script(GAS)を使用して、スプレッドシート内のデータや書式を一括削除する方法を紹介します。
スプレッドシートを効率的にクリーンアップしたり、不要な情報を削除したりする際に便利な操作です。以下では、具体的な操作方法を順に解説していきます。
- スプレッドシートの削除方法一覧
- Sheet.clear():シートの値、書式をすべてクリアする方法
- Sheet.clearContents():シートのすべてのセルの値を削除する方法
- Sheet.clearFormats():シートのすべてのセルの書式を削除する方法
- Sheet.deleteColumn():シートの列を削除する方法
- Sheet.deleteColumns():シートの指定列から指定列数を削除する方法
- Sheet.deleteRow():シートの行を削除する方法
- Sheet.deleteRows():シートの指定行から指定行数を削除する方法
- Sheet.removeChart():シートのグラフを削除する方法
- Range.clear():指定範囲の値、書式をすべてクリアする方法
- Range.clearContent():指定範囲のすべてのセルの値を削除する方法
- Range.clearFormat():指定範囲のすべてのセルの書式を削除する方法
- 最後に
スプレッドシートの削除方法一覧
メソッド | 説明 |
---|---|
Sheet.clear() | シートの値と書式をすべてクリアする方法 |
Sheet.clearContents() | シートのすべてのセルの値を削除する方法 |
Sheet.clearFormats() | シートのすべてのセルの書式を削除する方法 |
Sheet.deleteColumn() | シートの列を削除する方法 |
Sheet.deleteColumns() | シートの指定列から指定列数を削除する方法 |
Sheet.deleteRow() | シートの行を削除する方法 |
Sheet.deleteRows() | シートの指定行から指定行数を削除する方法 |
Sheet.removeChart() | シートのグラフを削除する方法 |
Range.clear() | 指定範囲の値と書式をすべてクリアする方法 |
Range.clearContent() | 指定範囲のすべてのセルの値を削除する方法 |
Range.clearFormat() | 指定範囲のすべてのセルの書式を削除する方法 |
Sheet.clear():シートの値、書式をすべてクリアする方法

GASのSheet.clear() メソッドは、スプレッドシート内のシートの値や書式をすべてクリアすることができます。
Sheet.clear()の書式
Sheet.clear()
Sheet.clear()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear();
このスクリプトでは、SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、取得したシートオブジェクトの clear() メソッドを呼び出すことで、シートの値と書式がすべてクリアされます。
削除後に同じテキストを入力すると…
金額の「円マーク」表記以外の書式はすべてリセットされたことがわかります。

シートへの書き込み処理をする前に、すべての情報を削除することで想定外のエラーを防げます。
Sheet.clearContents():シートのすべてのセルの値を削除する方法

GASのSheet.clearContents() メソッドを使用することで、スプレッドシート内の特定のシートのすべてのセルの値を削除することができます。
Sheet.clearContents()の書式
Sheet.clearContents()
Sheet.clearContents()の使用例
以下は Sheet.clearContents() メソッドを使用したスクリプトの例です。
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clearContents();
このスクリプトでは、まず SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、取得したシートオブジェクトの clearContents() メソッドを呼び出すことで、そのシートのすべてのセルの値が削除されます。
文字色や背景色などの書式がそのままで、文字だけクリアされるのが特徴です。
削除後に同じテキストを入力すると…
元の状態に戻ることが確認できます。

日付や金額のデータなどの書式を残しておきたいときに便利なメソッドです。
Sheet.clearFormats():シートのすべてのセルの書式を削除する方法

GASのSheet.clearFormats() メソッドを使用すると、特定のシート内のすべてのセルの書式を一括で削除することができます。セルの背景色、テキストの書式、罫線などがリセットされます。
Sheet.clearFormats()の書式
Sheet.clearFormats()
Sheet.clearFormats()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clearFormats();
このスクリプトでは、前述と同様に SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、取得したシートオブジェクトの clearFormats() メソッドを呼び出すことで、そのシートのすべてのセルの書式が削除されます。
データの削除とは異なり、書式を削除する操作は見た目の変更が行われるため、データの内容を変更せずにスタイルをリセットする際に便利です。
Sheet.deleteColumn():シートの列を削除する方法

GASのSheet.deleteColumn() メソッドを使用することで、スプレッドシート内の特定のシートから列を削除することができます。
Sheet.deleteColumn()の書式
Sheet.clearFormats(列番号)
引数 | タイプ | 内容 |
---|---|---|
列番号 | Integer | 削除したい列の列番号 |
Sheet.deleteColumn()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let columnToDelete = 2; // 削除する列の番号
sheet.deleteColumn(columnToDelete);
このスクリプトでは、まず SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、削除する列の番号を指定し、取得したシートオブジェクトの deleteColumn() メソッドを呼び出すことで、指定した列が削除されます。
削除する列の番号は、1から始まる列のインデックスです。この方法を使用して、不要な列を効率的に削除することができます。
Sheet.deleteColumns():シートの指定列から指定列数を削除する方法

GASのSheet.deleteColumns() メソッドを使用することで、スプレッドシート内の特定のシートから指定した列数を削除することができます。
Sheet.deleteColumns()の書式
Sheet.deleteColumns(列番号,列数)
引数 | タイプ | 内容 |
---|---|---|
列番号 | Integer | 削除したい列の列番号 |
列数 | Integer | 削除したい列数 |
Sheet.deleteColumns()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let startColumn = 2; // 削除を開始する列の番号
let numColumns = 2; // 削除する列数
sheet.deleteColumns(startColumn, numColumns);
このスクリプトでは、まず SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、削除を開始する列の番号と削除する列数を指定し、取得したシートオブジェクトの deleteColumns() メソッドを呼び出して指定した列数を削除しています。
列の番号は1から始まる列のインデックスです。この方法を使用して、特定の範囲の列を一括で削除できます。
Sheet.deleteRow():シートの行を削除する方法

GASのSheet.deleteRow() メソッドを使用すると、特定のシート内の行を削除することができます。
Sheet.deleteRow()の書式
Sheet.deleteRow(行番号)
引数 | タイプ | 内容 |
---|---|---|
行番号 | Integer | 削除したい行の行番号 |
Sheet.deleteRow()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let rowToDelete = 3; // 削除する行の番号
sheet.deleteRow(rowToDelete);
このスクリプトでは、前述と同様に SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、削除する行の番号を指定し、取得したシートオブジェクトの deleteRow() メソッドを呼び出すことで、指定した行が削除されます。
行の番号も、1から始まる行のインデックスです。この方法を使用して、不要な行を簡単に削除できます。
Sheet.deleteRows():シートの指定行から指定行数を削除する方法

GASのSheet.deleteRows() メソッドを使用することで、特定のシート内の指定した行数を削除することができます。
Sheet.deleteRows()の書式
Sheet.deleteRows(行番号,行数)
引数 | タイプ | 内容 |
---|---|---|
行番号 | Integer | 削除したい行の行番号 |
行数 | Integer | 削除したい行数 |
Sheet.deleteRows()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let startRow = 3; // 削除を開始する行の番号
let numRows = 5; // 削除する行数
sheet.deleteRows(startRow, numRows);
このスクリプトでは、 SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、削除を開始する行の番号と削除する行数を指定し、取得したシートオブジェクトの deleteRows() メソッドを呼び出して指定した行数を削除しています。
行の番号も1から始まる行のインデックスです。この方法を使用して、特定の範囲の行を一括で削除できます。
Sheet.removeChart():シートのグラフを削除する方法

GASのSheet.removeChart() メソッドを使用することで、スプレッドシート内のシートからグラフを削除することができます。
Sheet.removeChart()の書式
Sheet.removeChart(グラフのデータ)
引数 | タイプ | 内容 |
---|---|---|
グラフのデータ | Chart | 削除したいグラフ |
Sheet.removeChart()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let charts = sheet.getCharts(); // シート内の全てのグラフを取得
if (charts.length > 0) {
sheet.removeChart(charts[0]); // 最初のグラフを削除
}
このスクリプトでは、まず SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、getCharts() メソッドを使用してシート内の全てのグラフを取得し、removeChart() メソッドを呼び出して最初のグラフを削除しています。
複数のグラフがある場合は、適切な方法で指定したグラフを削除することができます。
Range.clear():指定範囲の値、書式をすべてクリアする方法

GASのRange.clear() メソッドを使用することで、特定の範囲内のセルの値と書式を一括で削除することができます。
Range.clear()の書式
Range.clear()
Range.clear()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let range = sheet.getRange("A1:B10"); // クリアする範囲を指定
range.clear();
このスクリプトでは、前述と同様に SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、getRange() メソッドを使用してクリアする範囲を指定し、その範囲の clear() メソッドを呼び出してセルの値と書式を削除しています。
削除後に同じテキストを入力すると…
書式や背景色はすべてリセットされたことがわかります。

この操作を使用することで、特定のセル範囲内のデータを簡単にクリアすることができます。
Range.clearContent():指定範囲のすべてのセルの値を削除する方法

GASのRange.clearContent() メソッドを使用することで、特定の範囲内のセルの値を一括で削除することができます。
文字色や背景色などの書式はそのままで、文字だけ全て削除される点が特徴です。
Range.clearContent()の書式
Range.clearContent()
Range.clearContent()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let range = sheet.getRange("A1:B10"); // 値をクリアする範囲を指定
range.clearContent();
このスクリプトでは、まず SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、getRange() メソッドを使用して値をクリアする範囲を指定し、その範囲の clearContent() メソッドを呼び出してセルの値を削除しています。
削除後に同じテキストを入力すると…
元の状態に戻ることが確認できます。
この操作を使用することで、指定したセル範囲内のデータを効率的にクリアできます。
Range.clearFormat():指定範囲のすべてのセルの書式を削除する方法

GASのRange.clearFormat() メソッドを使用することで、特定の範囲内のセルの書式を一括で削除することができます。セルの背景色やフォントの書式、罫線などがリセットされます。
Range.clearFormat()の書式
Range.clearFormat()
Range.clearFormat()の使用例
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let range = sheet.getRange("A1:B10"); // 書式をクリアする範囲を指定
range.clearFormat();
このスクリプトでは、前述と同様に SpreadsheetApp.getActiveSpreadsheet() を使用して現在のスプレッドシートを取得し、getActiveSheet() メソッドでアクティブなシートを取得しています。
そして、getRange() メソッドを使用して書式をクリアする範囲を指定し、その範囲の clearFormat() メソッドを呼び出してセルの書式を削除しています。
データの内容を保持したまま、見た目をリセットしたい場合に便利な操作です。
最後に
GASを使って、スプレッドシート内でのセル値や書式の削除に関する操作方法を紹介しました。今回紹介した内容を通して、必要に応じて適切なメソッドを使用して、データの整理やクリーンアップを行うことができますので、ぜひご活用ください。
