自作ツール&スクリプト

【Google Spreadsheet】昇降順別に重複したセルを削除する方法[GAS]

google-spreadsheet-remove-duplicates

GET通信でスプレッドシートにログを書き込むのですが、古い重複セルは不必要なのでGASで削除してみました。

【ExtendScript】スクリプト情報を取得してスプレットシートに書き込む方法

サンプルデータ

下記のような重複したデータを用意。

上位の重複セルを残しつつ下位の重複を削除

A列の項目見て上位を残しつつ下位の重複を削除します。

function removeDuplicates(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  sheet.getRange("A:B").removeDuplicates([1]); //A列の重複を削除
}

下位の重複セルを残しつつ上位の重複を削除

ascendingで降順に変えてからremoveDuplicatesを実行します。

function removeDuplicates(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  sheet.getRange("A:B").sort({column: 1, ascending: FALSE}).removeDuplicates([1]);
}

[おまけ]特定の範囲のセルを初期化する

1列目の2行目から最後の文字がある行まで削除します。

function resetValue() {
    var id = '*************************************';
    var sheet = SpreadsheetApp.openById(id).getSheetByName("シート1");
    for (i = 2; i <= sheet.getLastRow(); i++) {
        sheet.getRange(i, 1).setValue(""); 
    }
}

まとめ

毎日ログを取った時に、過去分を消すときに便利です!