【完全保存版】GASでデータクレンジングを自動化する方法|初心者向けステップバイステップ解説!

「スプレッドシートのデータがぐちゃぐちゃ…」
「重複やフォーマット違いを毎回手作業で直すのが辛い!」

そんな悩みを、Google Apps Script(GAS)を使ったデータクレンジング自動化で一気に解決しませんか?

この記事では、初心者でもできる
GASでデータクレンジングを自動化する方法を、サンプルコードと一緒にわかりやすく解説します!

これを読めば、毎回の面倒なデータ整理作業がほぼゼロになります!


1. なぜデータクレンジングを自動化するべきなのか?

スプレッドシートを使っていると、

  • 文字列に無駄なスペース

  • 全角・半角の不統一

  • 重複データ

  • 日付や数値のフォーマット不一致

など、データの乱れが必ず起こります。

放置すると、

  • 集計ミス

  • データベースへの登録エラー

  • 信頼性の低下

など、大きな問題に繋がります。

だからこそ、早い段階でデータクレンジングを自動化してしまうことが、超重要なのです!


2. 【準備編】GASでデータクレンジングに必要なもの

  • Googleアカウント

  • 整理したいGoogleスプレッドシート

  • Google Apps Script(GAS:標準搭載)

これだけで今すぐスタートできます!


3. 【設計編】GASデータクレンジングの流れをイメージしよう

ざっくり設計イメージを持っておきましょう。

■ 基本フロー

  1. スプレッドシートのデータ取得

  2. 必要なクレンジング処理を適用

  3. 元データに上書き保存 or 新シートに保存

シンプルですが、これだけで
現場レベルの実用的なクレンジングが可能です!


4. 【基本編】GASでできるデータクレンジング処理一覧


✅ トリム(余分なスペース削除)

文字列の前後のスペースやタブを削除します。


✅ 重複削除

同じレコードをまとめます。


✅ 文字統一(大文字・小文字、全角・半角変換)

バラバラな文字列フォーマットを統一します。


✅ 日付・数値フォーマット統一

データ形式を正規化します。


✅ 不要文字列の削除

特定の文字や記号だけを除去します。


これらをGASで自動化することで、人の手を介さず正しいデータセットを維持できるのです!


5. 【実装編】GASでデータクレンジングを自動化するサンプルコード

いよいよ、実際にコードを書いていきます!


ステップ① Apps Scriptエディタを開く

スプレッドシート上部メニュー
「拡張機能」→「Apps Script」→「新しいプロジェクト作成」


ステップ② トリム&重複削除するスクリプト

function cleanseData() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
  
  const range = sheet.getDataRange();
  const values = range.getValues();
  
  const cleansed = [];
  const seen = new Set();
  
  values.forEach(row => {
    const trimmedRow = row.map(cell => {
      return (typeof cell === 'string') ? cell.trim() : cell;
    });
    
    const key = trimmedRow.join();
    
    if (!seen.has(key)) {
      seen.add(key);
      cleansed.push(trimmedRow);
    }
  });
  
  sheet.clearContents();
  sheet.getRange(1, 1, cleansed.length, cleansed[0].length).setValues(cleansed);
}

これを実行すると、

  • 全セルの余分なスペースを除去

  • 同一内容の重複行を削除

して、クリーンなデータだけを残してくれます!


6. 【応用編】さらに便利なクレンジング処理例


✅ 全角英数字→半角変換

function toHalfWidth(str) {
  return str.replace(/[A-Za-z0-9]/g, s => 
    String.fromCharCode(s.charCodeAt(0) - 0xFEE0)
  );
}

データ取得時にこの変換をかければ、
フォーマット統一されたデータが作れます!


✅ 特定列だけクレンジング対象にする

すべての列を処理する必要がない場合も、
対象列を絞り込んでクレンジング可能!


✅ 不正文字や禁則文字を除去

たとえば、
「改行コード」や「制御文字」だけを除去する処理も簡単に組み込めます。


7. 【運用編】クレンジング自動化を安定運用するコツ


✔️ 元データは必ずバックアップ

いきなり上書きするのではなく、別シートにコピーを取ってからクレンジング処理しましょう!


✔️ エラー検知・ログ出力

異常データを検出した場合は、エラー行をログ保存して、後から確認できるようにするとなお安心。


✔️ 定期トリガー設定

たとえば「毎週月曜朝8時に自動クレンジング」など、時間主導型トリガーで自動実行するのもおすすめです。


8. まとめ|GASでデータクレンジングを自動化して、作業時間を圧縮しよう!

GASを使えば、

  • 余分なスペース削除

  • フォーマット統一

  • 重複データ排除

  • 日付・数値正規化

といったクレンジング作業が、ほぼノーコード・完全自動で実現できます!

まずはこの記事で紹介した基本スクリプトを試してみて、
慣れてきたら「複数条件の組み合わせ」や「エラー処理の高度化」など、さらに洗練されたクレンジングツールを目指しましょう!

Shop now