GoogleAppsScript

【GAS】スプレッドシートの削除操作一覧(シート,セル,行,列,書式のクリア)

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():シートの値、書式をすべてクリアする方法

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を使って、スプレッドシート内でのセル値や書式の削除に関する操作方法を紹介しました。今回紹介した内容を通して、必要に応じて適切なメソッドを使用して、データの整理やクリーンアップを行うことができますので、ぜひご活用ください。