エグウェブ.JP@オンライン/WEB講座・セミナー・WEB分析

WEB分析・ホームページ・WEBサイト作成・WordPress、Googleアナリティクス、LINEスタンプ、Photshop・illustrator、Excelの講座やオンラインセミナーを開催中!

【GoogleAppsScript(GAS)入門】行を削除する方法|deleteRow(rowindex)|空白セルの行を一気に削除!

time 2020/02/18

GASで行を削除したい時はdeleteRow(行番号)を使います。

空白セルの行を一気に削除したい時

例えば、空白行が多々あって、まとめて削除をしたい時。ひとつずつ行を選択して削除するのは、ちょっと効率が悪そうです・・・。

まずは、スクリプトエディタを開きます。

まずは関数名をfunction removeRow() などわかりやすい名前に変更して、次に、毎度おまじないのvar sheet=SpreadsheetApp.getActiveSheet();でアクティブシートを取得します。

function removeRow() {
//アクティブシートを取得
var sheet=SpreadsheetApp.getActiveSheet();

deleteRow(rowindex)

行を削除する。

getLastRow();

最終行を取得します。

sheet.getLastRow();

最終行までループで回す

for(var row = 1; row <= sheet.getLastRow(); row++) {

}

空白セルを判定する

あとは、「現在位置が空白セルであれば、その行を削除する」としてあげれば良さそうな気がします!

//セルの値を取得する
var cell = sheet.getRange(row, 1);

cell.isBlank()

.isBlank()で空白かどうか?を判定させます。

//セルがもし空白であれば
if(cell.isBlank()){
//行を削除する
sheet.deleteRow(row);
}

実行

これでおそらくいい感じに空白行が消え・・・

空白行が1行ずつ残ってしまいました・・・!!

この実行内容だと・・・

2行目を削除したタイミングで、本来3行目だった空白セルの行が2行目に移動するので、行を削除できずに通過してしまいます。

ということは、いくつか方法が考えられそうですが、例えば「削除したタイミングで行(row)を1引く」という方法も考えられそうです。

//セルがもし空白であれば
if(cell.isBlank()){
//行を削除する
sheet.deleteRow(row);
// 1行分、戻す
row-=1;
}

できました!

まとめ

空白セルが入った行を一気に削除したい時に便利です!

ご参考下さい(^o^)/

download(ダウンロード)

プロフィール

EGUWEB

EGUWEB

【皆さまの人生に最良のファーストステップを】WEBサイトを作りたい!WEB分析を学びたいけど分からない。とりあえず色々と知りたい!皆様の悩みを解決できるように頑張ります。 [詳細]

カテゴリー