GASでスプレッドシートの重複データを自動削除し、リストを清潔に保つ

GASスプレッドシートデータクリーン
GASでスプレッドシートの重複データを自動削除し、リストを清潔に保つのサムネイル

こんにちは、GASおじです!今日は皆さんに、Google Apps Script(GAS)を使ってスプレッドシートの重複データを自動で削除し、データをクリーンに保つ方法をご紹介します。中小企業の経営者さんやフリーランスの皆さん、日々の業務でリスト管理に頭を悩ませていませんか?データが汚れていると、業務効率が落ちるばかりか、時には決定的なミスにつながることさえありますね。

GASで重複データを削除するメリット

スプレッドシートでデータ管理をしている企業や個人にとって、データのクリーンさは非常に重要です。重複データが増えると、ファイルが大きくなりすぎて読み込みが遅くなったり、間違ったデータが報告されてしまうことも。さらに時間をかけて手動でデータをチェックするのは、人件費もかかるし、時間ももったいないです。

年間で言えば、手作業で重複データ確認をしている時間が20時間だったとしましょう。時給2000円なら40,000円ものコストが発生している計算になります。これをGASで自動化すれば、こうした手作業ぶんのコストを大きく減らせる可能性があります(実際の効果は作業量や時給などの前提条件によって変わります)。

実際にGASで重複を削除するコード

それではさっそく、具体的なGASコード例をご紹介します。以下のスクリプトをGASエディタに貼り付けて、実行するだけです。

function removeDuplicates() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();
  const newData = [];
  
  const unique = new Set();
  
  for (let i = 0; i < data.length; i++) {
    const row = data[i].join();
    if (!unique.has(row)) {
      unique.add(row);
      newData.push(data[i]);
    }
  }
  
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

このコードで、スプレッドシートの中の全ての重複行を一気に削除できます。重複確認は各行をカンマで連結してそれをSetに追加することで行っています。この方法で、データ内容が完全に一致する行が削除されます。

実行手順

  1. スプレッドシートを開く - 重複を除去したいシートを選択。
  2. Google Apps Scriptエディタを開く - メニューの「拡張機能」から「Apps Script」を選択。
  3. コードを貼り付ける - 上記のスクリプトをコピペ。
  4. プロジェクトの実行 - 「実行」ボタンを押してスクリプトを実行。

スプレッドシートで業務をさらにスマートに

このシンプルなスクリプト一つで、データクレンジングが自動化されると、時間の節約につながり、業務の生産性向上も期待できます。特に中小企業やフリーランスの方に向いた方法です。先ほどの前提(年間20時間・時給2000円)で試算すると、年間40,000円ほどのコスト削減が目安になります(前提条件によって金額は変わります)。

さらに知りたい方や、他の便利なGASツールも試してみたい方は、ぜひGASおじラボで500ツール使い放題 →にアクセスしてみてください。皆さんのスプレッドシートライフを、もっと便利で楽しいものにしましょう!