【GAS】スプレッドシートのデータ重複削除機能まとめ【サンプルソース付】

快速ワーク
スポンサーリンク

GAS開発者向けにスプレッドシートのデータ重複削除機能をすべてまとめました。

セルのデータを扱う際、うっとおしい重複データを削除して綺麗に整理したい時はきっとあると思います。

複数の列にまたがったデータを一発で綺麗にしてくれるので意外と便利です。

データ重複削除に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。


スポンサーリンク

Google Apps Script スプレッドシート 基礎 リファレンス

当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。

若干、文言がおかしい可能性がありますが、あらかじめご了承ください。

 

GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。

【GAS】スプレッドシート基本メソッドまとめ一覧【初心者入門】
GAS開発者向けにスプレッドシートの基本的なメソッドを一覧にまとめました。各機能ごとのクラス、メソッドごとのサンプルソース付ページへリンクする一覧です。初心者にとって、スプレッドシートの基本的な操作・機能単位のメソッドを知...

 

まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。

【GAS】Googleスプレッドシートでマクロの使い方入門【動画付】
Googleの「Google Apps Script」通称GAS。GoogleマップやGメールなど、いろんなGoogle関連のサービスと自由に連携できたり、独自のWebアプリを開発することもできる、いろんな可能性を秘めたワクワクの...

 

GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。

基本的な仕様やよく使われる機能の設定方法がまとまっています。

※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。


セル範囲クラス[Range]の重複削除

セル範囲のデータ重複削除メソッドです。

データ重複削除1[removeDuplicates()]

removeDuplicates()
前の行の値と重複する値を含む、この範囲内の行を削除します。値は同じだが大文字小文字の区別、書式設定、または数式が異なる行は重複していると見なされます。このメソッドは、ビューから隠されている重複行も除去します(例えば、フィルターが原因で)。この範囲外のコンテンツは削除されません。

function removeDuplicates1Sample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range = sheet.getRange("B1:D7");

  // 範囲内の重複行を削除します。
  range.removeDuplicates();
}

Return
Range - 重複を削除した結果の範囲。範囲のサイズは、削除される行ごとに1行ずつ減少します。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | removeDuplicates()

データ重複削除2[removeDuplicates(重複値分析列)]

removeDuplicates(columnsToCompare)
指定された列の値のうち、前の行と重複する値を含む、この範囲内の行を削除します。値は同じだが大文字小文字の区別、書式設定、または数式が異なる行は重複していると見なされます。このメソッドは、ビューから隠されている重複行も除去します(例えば、フィルターが原因で)。この範囲外のコンテンツは削除されません。

function removeDuplicates2Sample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range = sheet.getRange("B1:D7");

  // 列Bに重複する値がある行を削除します
  range.removeDuplicates([2]);

  // 列BとDの両方に重複する値がある行を削除します
  range.removeDuplicates([2,4]);
}
Parameters
名前タイプ説明
columnsToCompareInteger[]重複値を分析するための列。列が指定されていない場合は、すべての列が重複について分析されます。

Return
Range - 重複を削除した結果の範囲。範囲のサイズは、削除される行ごとに1行ずつ減少します。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | removeDuplicates(columnsToCompare)


最後に

GASデータ重複削除機能のまとめをご紹介させていただきました。

必要に応じて、有益な情報でさらに更新していきたいと思います。

プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。

実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。

実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。

自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。

GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。

Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓

Googleスプレッドシートの使い方や機能がわかるショートカットキー全まとめ一覧【初心者こそ必見】
表計算ソフトとして、まだまだExcelのシェア率は高いですが、GoogleスプレッドシートにはExcelにはない超強力な関数があったり、Excelとは違って常に最新版を無料で使用できます。なにより、インターネットを使ったオンライン...

ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。




コメント

//▼2023/04/08追加 //https://lovagelab.com/posts/3406/ //▲2023/04/08追加