スプレッドシートを使っていると、「このセルだけ消したい」「行や列をまとめて削除したい」といった場面がよくありますよね。そんなときに便利なのが、Google Apps Script(GAS)を使ったセル削除の方法です。今回は、初心者の方でもわかりやすいように、実際の操作を例に挙げながら解説します。
セルの内容を削除する方法
セルの内容だけを削除したいとき
例えば、セルに入力された「2025年7月28日」という日付を削除したい場合、以下のように記述します。
function deleteCellContent() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("").clearContent();
}
このコードを実行すると、セルの内容だけが削除され、書式や背景色などはそのまま残ります。
セルの内容と書式を両方削除したいとき
セルの内容と書式を両方削除したい場合は、以下のように記述します。
function deleteCellAndFormat() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("").clear();
}
このコードを実行すると、セルの内容と書式が両方削除されます。
行や列を削除する方法
特定の行を削除したいとき
例えば、2行目を削除したい場合、以下のように記述します。
function deleteRow() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.deleteRow(2);
}
このコードを実行すると、2行目が削除されます。
特定の列を削除したいとき
例えば、B列を削除したい場合、以下のように記述します。
function deleteColumn() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.deleteColumn(2);
}
このコードを実行すると、B列が削除されます。
セルを削除してデータを詰める方法
セルを削除して下のデータを上に詰める
例えば、B2セルからD4セルまでの範囲を削除して、下のデータを上に詰めたい場合、以下のように記述します。
function deleteCellsAndShiftUp() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("B2:D4");
range.deleteCells(SpreadsheetApp.Dimension.ROWS);
}
このコードを実行すると、B2からD4の範囲が削除され、下のデータが上に詰められます。
セルを削除して右のデータを左に詰める
例えば、B2セルからD4セルまでの範囲を削除して、右のデータを左に詰めたい場合、以下のように記述します。
function deleteCellsAndShiftLeft() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("B2:D4");
range.deleteCells(SpreadsheetApp.Dimension.COLUMNS);
}
このコードを実行すると、B2からD4の範囲が削除され、右のデータが左に詰められます。
よくある質問や疑問
Q1: セルを削除してもデータが残る場合、どうすればいいですか?
セルの内容が残ってしまう場合、以下のように記述してみてください。
function clearCell() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("").clear();
}
このコードを実行すると、セルの内容と書式が両方削除されます。
Q2: 複数のセルを一度に削除したい場合、どうすればいいですか?
例えば、からC3までの範囲を削除したい場合、以下のように記述します。
function clearMultipleCells() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("C3").clear();
}
このコードを実行すると、からC3までの範囲の内容と書式が両方削除されます。
Q3: セルを削除した後、データを詰める方法はありますか?
はい、あります。例えば、B2からD4までの範囲を削除して、下のデータを上に詰めたい場合、以下のように記述します。
function deleteCellsAndShiftUp() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("B2:D4");
range.deleteCells(SpreadsheetApp.Dimension.ROWS);
}
このコードを実行すると、B2からD4の範囲が削除され、下のデータが上に詰められます。
まとめ
今回は、Google Apps Scriptを使ってスプレッドシートのセルを削除する方法を解説しました。セルの内容だけを削除したい場合や、行や列を削除したい場合、またセルを削除してデータを詰めたい場合など、さまざまな操作が可能です。ぜひ、これらの方法を活用して、スプレッドシートの作業を効率化してみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント