【完全攻略】GASでスプレッドシートの自動翻訳を実現する方法|初心者向けスクリプトも紹介!

「スプレッドシートの内容を一括で翻訳したい!」
「外国語データを素早く扱えるようにしたい!」

そんなニーズに応えるのが、Google Apps Script(GAS)を使ったスプレッドシートの自動翻訳です。

この記事では、初心者でもできる「GASを使った自動翻訳の仕組み作り」を、サンプルコード付きでわかりやすく解説します!
今日からあなたも、多言語データ処理の達人になれるかも!


1. なぜGASでスプレッドシートの自動翻訳をするべきか?

手作業で翻訳していると…

  • 時間がかかる

  • ミスが発生する

  • データ量が多いとパンクする

こんな課題が出てきます。

しかし、GASを使えば、

  • ボタン1つで大量データを一括翻訳

  • 精度の高いGoogle翻訳エンジンを活用

  • スプレッドシートと完全連携

という、圧倒的な作業効率化が実現できるのです!

しかも、無料でスタートできるのも魅力!


2. 【基本知識】GASで自動翻訳する仕組みとは?

GASには、なんと標準でGoogle翻訳APIを使う機能が搭載されています。

LanguageApp.translate(テキスト, 元の言語コード, 翻訳先の言語コード);

この1行で、瞬時に翻訳が完了します!

たとえば、

LanguageApp.translate('こんにちは', 'ja', 'en');
// => "Hello"

超シンプル!


3. 【準備編】必要なものリスト

  • Googleアカウント

  • Googleスプレッドシート

  • Google Apps Script(標準搭載)

特別なAPIキー取得や課金設定は不要!
今すぐ始められます。


4. 【基本編】スプレッドシートの翻訳を自動化するサンプルコード

では、さっそくスクリプトを書いていきましょう!


ステップ① スプレッドシートを準備

シート構成例:

| 日本語テキスト | 英語訳(空欄) |

このように、「翻訳元」と「翻訳先」用の列を用意しておきます。


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

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


ステップ③ 自動翻訳スクリプトを書く

function autoTranslateSheet() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getRange(2, 1, sheet.getLastRow() - 1, 1).getValues(); // 1列目の日本語
  
  const translations = data.map(row => {
    const text = row[0];
    if (text) {
      return [LanguageApp.translate(text, 'ja', 'en')];
    } else {
      return [''];
    }
  });
  
  sheet.getRange(2, 2, translations.length, 1).setValues(translations); // 2列目に英訳書き込み
}

これを実行すると、

  • 1列目(日本語)を読み込み

  • 英語に翻訳

  • 2列目に一括出力

してくれます!


5. 【応用編】さらに便利にするカスタマイズ例


✅ 翻訳元・翻訳先の言語を可変にする

function autoTranslateFlexible() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const fromLang = sheet.getRange('D1').getValue(); // D1に翻訳元言語コード
  const toLang = sheet.getRange('E1').getValue(); // E1に翻訳先言語コード
  
  const data = sheet.getRange(2, 1, sheet.getLastRow() - 1, 1).getValues();
  
  const translations = data.map(row => {
    const text = row[0];
    if (text) {
      return [LanguageApp.translate(text, fromLang, toLang)];
    } else {
      return [''];
    }
  });
  
  sheet.getRange(2, 2, translations.length, 1).setValues(translations);
}

こうすれば、好きな言語間で翻訳できるようになります!


✅ 翻訳対象セルを絞り込む(空欄除外)

無駄な翻訳リクエストを防ぐため、空欄スキップ処理も追加しています。


✅ 翻訳済みデータをハイライトする

sheet.getRange(2, 2, translations.length, 1).setBackground('lightyellow');

翻訳済みセルに色を付けるだけでも、視認性がぐっと上がります!


6. 【運用編】気をつけたいポイント


✔️ 無料プランの制限に注意

GAS標準のLanguageAppにはリクエスト制限(時間あたりの実行回数など)があるので、大量データは小分け実行が安全です。


✔️ 翻訳精度には過信注意

Google翻訳は精度が高いですが、専門用語や文脈によっては微妙なズレが生じることも。重要な文書は最終チェックを推奨します。


✔️ 例外処理を入れておく

ネットワークエラーや空欄データに備えて、エラー回避コードを組み込んでおくと安定します。


7. 【まとめ】GASでスプレッドシートの自動翻訳は驚くほど簡単!

スプレッドシート×GAS×LanguageAppを組み合わせれば、

  • 何百行でも一瞬で翻訳

  • 手作業ゼロ

  • 多言語データ管理も楽々

という、超効率的なワークフローが完成します。

まずは、この記事で紹介した基本スクリプトを動かしてみてください。
そして、慣れてきたら

  • 複数言語対応

  • 条件付き翻訳

  • 翻訳履歴管理

など、どんどんレベルアップしていきましょう!

Shop now