スプレッドシートの翻訳作業を一括処理!GASで実現する簡単ステップ

この記事をおすすめの方

スプレッドシートの作業効率化をお考えの方

翻訳をまとめて完了させたい方

日本語⇔英語に変換したい場合に便利なのがグーグル翻訳。

Googleスプレッドシートなら関数のGoogle Translateでも翻訳できますが、

翻訳のセル数が多い場合は、GASを使うと一回の作業でまとめて翻訳できます。

作業がラクになるので、時間を節約できて疲れもなくなります。

以下に 日本語→英語 にGoogle翻訳する方法をご紹介します。

目次

完成イメージ

(記入例)
B列:日本語テキスト
C列:英語訳テキスト
シート名(タブ):翻訳

  • B列に日本語テキストを手動で入力
  • GASを実行
  • C列に英語訳がまとめて入力される

まとめて翻訳するスクリプト(GAS)

function translateTitles() {
  // 現在のスプレッドシートからシートを取得
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('翻訳');
  
  if (!sheet) {
    Logger.log("シートが見つかりません: '翻訳'");
    return;
  }
  
  var lastRow = sheet.getLastRow(); // 最後の行を取得
  var titles = sheet.getRange(2, 2, lastRow - 1, 1).getValues(); // B列(2列目)の日本語タイトル
  var translatedTitles = sheet.getRange(2, 3, lastRow - 1, 1).getValues(); // C列(3列目)の翻訳済みタイトル

  // 翻訳処理
  for (var i = 0; i < titles.length; i++) {
    if (!translatedTitles[i][0]) { // C列が空の場合に翻訳
      var translatedTitle = LanguageApp.translate(titles[i][0], 'ja', 'en');
      sheet.getRange(i + 2, 3).setValue(translatedTitle); // 翻訳結果をC列に書き込み
    }
  }
}

日本語テキスト(B列)を一括で英語(C列)に翻訳するスクリプトです。

黒いコード画面の右上にコピーボタンがあり、スクリプトをコピーできます。

スクリプトはこのままコピーして使用できます。

※このスクリプトではスプレッドシートのシート名(タブ)を 「翻訳」 として指定しています。必要に応じてご変更ください。

スクリプトの使用方法

スクリプトの使用方法
  • ツールバー – 拡張機能 – Apps Script
  • スクリプト貼付け
  • スクリプト保存
  • 実行
  • C列に英語訳がまとめて入力される

①ツールバーの『拡張機能 – Apps Script』を選択

②スクリプトを貼付ける

function myFunction(){

}

が最初から入っているため、消去して先ほどのスクリプトを貼り付けます。

②『プロジェクトを保存』を押す

④『実行』を押す

初めてそのスクリプトを実行する場合は権限の確認が必要です。

そのため、『権限を確認』を押します。

続いて、『詳細』を押します。

『無題のプロジェクト(安全ではないページ)に移動』を押します。

その後、『許可』を押します。

⑤実行すると、C列に英語訳がまとめて入力されます。

スクリプトはChatGPTを使えば誰でもすぐに作れる

スクリプトの作成・変更を自分で行うとなると時間がかかりますが、ChatGPTを使えばすぐに作ってもらえます。

例えば、今回の翻訳作業なら以下のようにChatGPTに伝えれば、数秒でスクリプトを作ってもらえます。

ChatGPTへの指示例

GASでスプレッドシートのグーグル翻訳を適用したい

B列にある日本語テキストの英語訳をC列に記入したい。
なお、C列に既に入力がある場合にはスキップする。

ファイル:現在使用中のファイル
シート名:翻訳

ChatGPTの回答

function translateTitles() {
  // 現在のスプレッドシートからシートを取得
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('翻訳');
  
  if (!sheet) {
    Logger.log("シートが見つかりません: '翻訳'");
    return;
  }
  
  var lastRow = sheet.getLastRow(); // 最後の行を取得
  var titles = sheet.getRange(2, 2, lastRow - 1, 1).getValues(); // B列(2列目)の日本語タイトル
  var translatedTitles = sheet.getRange(2, 3, lastRow - 1, 1).getValues(); // C列(3列目)の翻訳済みタイトル

  // 翻訳処理
  for (var i = 0; i < titles.length; i++) {
    if (!translatedTitles[i][0]) { // C列が空の場合に翻訳
      var translatedTitle = LanguageApp.translate(titles[i][0], 'ja', 'en');
      sheet.getRange(i + 2, 3).setValue(translatedTitle); // 翻訳結果をC列に書き込み
    }
  }
}

対象のセル・列を変更したい場合や、英語ではなく他の言語に変更したい場合も、そのことを伝えれば作成してもらえます。

今回作成したスクリプトはChatGPT 4oですが、無料版でも使える ChatGPT 4o mini でもスクリプト作成できました。

ChatGPTはGASを作成してもらうにはとても便利です。

https://chatgpt.com

翻訳の数が少ない場合はGoogle Translate関数でサクッと

=GOOGLETRANSLATE(B2, "ja", "en")

日本語(B2セル) → 英語 に変換する場合の式です。

翻訳するセルの数が少ない場合は関数を使用すると早いです。

  • 関数を使用するセルが多いと「Loading」のまま動かなくなることがあります。
  • 翻訳後の英語を修正したい場合、コピーペーストで数式から文字に変換して行う必要があります。

まとめ GASを使えば翻訳作業はカンタン

スプレッドシート上のGoogle翻訳はGASでまとめてできる
GASの作成はChatGPTを使うとカンタン
翻訳セルが少ない場合はGoogleTranslate関数でもできる

スプレッドシートでGoogle翻訳をする場合にご活用ください。

なお、Google翻訳だと精度が落ちるという場合はDeepLを使う方法もあります。

ChatGPTを使えばDeepLのAPIを使う手順を分かりやすく教えてもらえます。

弊社では、Google Apps Script(GAS)を活用した業務効率化のサポートを提供しております。

GASのカスタマイズやエラー対応にお困りの際は、ぜひお気軽にご相談ください。

また、ITツールの導入支援やIT導入補助金の申請サポートも行っております。

貴方の業務改善を全力でサポートいたします。

お問い合わせはこちら

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次