スプレッドシートの翻訳作業を一括処理!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への指示例
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を作成してもらうにはとても便利です。
翻訳の数が少ない場合は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導入補助金の申請サポートも行っております。
貴方の業務改善を全力でサポートいたします。
コメント