見出し画像

【簡単データ整理】GASでスプレッドシートの重複する行を削除する方法

「GASで業務効率化ができるって聞いたけどよくわからん」
「スプレッドシートの重複箇所を自動で削除したい」
「非エンジニアでも簡単にできる方法教えて!」

本記事ではこのような方を対象に、GAS(Google App Script)を使ってスプレッドシートから重複する行を削除する方法をご紹介します。

■本記事で分かること
GASを使ってスプレッドシートから重複する行を削除する方法

■本記事の信頼性
私は、本業でChatGPTなどのAIツールを活用して効率化を実現し、ほぼ毎日定時で帰宅。家族との充実した時間を確保している「なおき」といいます。

AIと全く無縁の体育系で文系出身(数学Ⅱで終わりました)の私でもできる時短術をわかりやすく説明できるよう、Xなどを活用して情報発信しています。

まず、前提として、私はGASで使用されるコード(いわゆるJavaスクリプト)のことは全く分かっていません。

プログラミングとか…変数とか…メソッドとか…
見るだけで目がチカチカするし、よくわからんし、大嫌いです(笑)

Javaスクリプトに精通した方々がGASの基本的な使い方、入門書、完全解説!みたいなサイトで発信されていて、本当にスゴイな…頭の中どうなってるんやろ?と思う反面

すごいけど、コードの書き方は別に聞きたくないねん!
こうやったらこれできますっていう『簡単なやり方』だけ知りたいねん!

って思ってました。

一度コードの仕組みを解読しようと勉強を試みましたが
30代になり本業の責任が増す中、2人の娘、オンラインで私以上の収入を稼ぐ妻…自分の時間がほとんどとれない中で腰を据えてプログラミングの勉強ができず、速攻で挫折しました…

しかし!こんな私でもChatGPTの登場以降、簡単な作業を自動化するJavaスクリプトを作れるようになり、定時帰宅からの子供のお迎え~家族との時間の確保ができるようになりました!

この記事を読んでくださった方々が1分でも早く帰れることを願い、今回はGASを使ってスプレッドシートから重複する行を削除する方法をご紹介します!

1.Googleスプレッドシートの準備

まずは、Googleスプレッドシートで重複した内容が記載されているデータを作成します。

今回は簡単な名簿を作成してみました。

重複した内容が記載されたデータ

2.GAS(Google App Script)の設定

それでは次にGASの設定に入っていきます。

ステップ1:Apps Scriptを開く

Googleスプレッドシートのメニューバーから
「拡張機能」→「Apps Script」を選択します。

ステップ2:コードの入力

Apps Scriptが開いたら、デフォルトで入力されている部分のコードを削除してください。

赤枠部分は削除

同じところに以下のコードをコピペします。

function removeDuplicates() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var newData = [];
  for (var i = 0; i < data.length; i++) {
    var row = data[i];
    var duplicate = false;
    for (var j = 0; j < newData.length; j++) {
      if (row.join() == newData[j].join()) {
        duplicate = true;
        break;
      }
    }
    if (!duplicate) {
      newData.push(row);
    }
  }
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

このコードは重複する行があった場合、その行を1つだけ残し、他の重複する行を削除するものです。

実際に貼り付けると以下のようになります。
貼り付けた後は保存マーク💾を押してください。

ステップ3:実行及び権限の承認

保存出来たら、「▷実行」の部分をクリックして関数removeDuplicatesを実行します。

実行すると権限の承認を求められるので、以下の画像の赤枠部分をクリックしていってください。

権限を承認
アカウント名をクリック
詳細をクリック
無題のプロジェクト(安全ではないページ)に移動
許可をクリック

3.GAS(Google App Script)の実行

ここまでの作業が終了したら、最初に作成したGoogleスプレッドシートに戻ってください。

すると、重複していた行の中の1つだけを残し、他の重複行が削除されています。

実行後の状況

※注意事項
大量のデータで実施する場合は時間がかかる場合があります。

4.まとめ

今回は、「GASを使ってスプレッドシートから重複する行を削除する方法」をテーマに紹介しましたが、いかがだったでしょうか?

  1. Googleスプレッドシートの準備

  2. GAS(Google App Script)の設定と実行

上記の内容が実行できれば、ワンクリックで重複する行を削除できるようになります!

複数行にわたるデータ処理を行うことが多い部署の方々は、今回のコードを使用しているデータ形式にカスタマイズすることができれば、業務効率化につながるのではないでしょうか?

「そのカスタマイズの仕方を教えてよ!」と思った方…

ChatGPTで自分に合ったGASコードを作成するためのプロンプト集を作成しましたので、是非ご覧ください!

今回紹介した内容で皆さんの業務が少しでも効率化できれば、スキ、SNSでの紹介をしていただけると大変励みになりますので、何卒よろしくお願いします!

このほか、AI×時短術の知識をX(旧Twitter)で紹介していますので、是非フォローしてください!

この記事が気に入ったらサポートをしてみませんか?