海外の取引先から届いたメールや、英語の資料をスプレッドシートで翻訳したいこと、ありますよね。
いちいちGoogle翻訳のサイトを開いて貼り付けるのは手間がかかります。データが何十行もあると、とても追いつきません。
そんなときに使えるのがGOOGLETRANSLATE関数です。セルに数式を入れるだけで、テキストをそのまま翻訳できます。
この記事では、スプレッドシートのGOOGLETRANSLATE関数の基本から実務で役立つ活用パターンまでまとめて紹介します。
GOOGLETRANSLATE関数とは?
GOOGLETRANSLATE関数は、セル内のテキストを指定した言語に翻訳する関数です。
Google翻訳と同じ翻訳エンジンを使っています。スプレッドシート上で直接翻訳できるのが特徴です。
Googleスプレッドシート独自の関数なので、Excelにはこの関数がありません。
GOOGLETRANSLATE関数にできることをまとめると、次のとおりです。
- セル内のテキストを別の言語に翻訳する
- ソース言語を自動検出して翻訳する
- 複数行のテキストをまとめて一括翻訳する
- DETECTLANGUAGE関数と組み合わせて多言語データを処理する
NOTE
GOOGLETRANSLATE関数はGoogleスプレッドシート専用の関数です。Google翻訳の翻訳エンジンを利用するため、インターネット接続が必要です。
GOOGLETRANSLATE関数の書き方(構文と引数)
基本構文
=GOOGLETRANSLATE(テキスト, ソース言語, ターゲット言語)
カッコの中に翻訳したいテキストと、翻訳元・翻訳先の言語コードを指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| テキスト | 必須 | 翻訳したい文字列またはセル参照 |
| ソース言語 | 任意 | 翻訳元の言語コード。省略または”auto”で自動検出 |
| ターゲット言語 | 任意 | 翻訳先の言語コード。省略するとシステムの言語が使われる |
言語コードはISO 639-1形式の2文字コードを使います。よく使うコードは次のとおりです。
| 言語コード | 言語 |
|---|---|
| “ja” | 日本語 |
| “en” | 英語 |
| “zh” | 中国語(簡体字) |
| “ko” | 韓国語 |
| “fr” | フランス語 |
| “de” | ドイツ語 |
| “es” | スペイン語 |
| “pt” | ポルトガル語 |
TIP
ソース言語を
"auto"にすると、翻訳エンジンが自動で言語を判別してくれます。何語かわからないテキストを翻訳するときに便利ですよ。
GOOGLETRANSLATE関数の基本的な使い方
まずはシンプルな例で動きを確認してみましょう。
英語を日本語に翻訳する
=GOOGLETRANSLATE("Hello, how are you?", "en", "ja")
結果は「こんにちは、お元気ですか?」のように返ります。第2引数が翻訳元(英語)、第3引数が翻訳先(日本語)です。
セル参照で翻訳する
A1セルに英語のテキストが入っている場合、次のように書きます。
=GOOGLETRANSLATE(A1, "en", "ja")
A1の内容が変わると、翻訳結果も自動で更新されます。
ソース言語を自動検出する
何語かわからないテキストを翻訳したいときは、ソース言語に "auto" を指定します。
=GOOGLETRANSLATE(A1, "auto", "ja")
翻訳エンジンが自動で言語を判別して日本語に翻訳してくれます。
日本語を英語に翻訳する
もちろん、日本語から英語への翻訳もできます。
=GOOGLETRANSLATE("お疲れ様です", "ja", "en")
結果は「Thank you for your hard work」のように返ります。ビジネスメールの下書きに使うと便利です。
GOOGLETRANSLATE関数の実践的な使い方・応用例
複数行のテキストを一括翻訳する
A列に英語のテキストが並んでいるとき、B列にまとめて翻訳結果を出せます。
B2セルに次の数式を入力して、下方向にコピーしましょう。
=GOOGLETRANSLATE(A2, "en", "ja")
数十行あっても一括で翻訳できます。手作業でコピー&ペーストする必要がなくなりますよ。
DETECTLANGUAGE関数と組み合わせる
DETECTLANGUAGE関数は、テキストの言語を自動検出してコードを返す関数です。
GOOGLETRANSLATE関数と組み合わせると、多言語が混在するデータでも適切に翻訳できます。
=GOOGLETRANSLATE(A2, DETECTLANGUAGE(A2), "ja")
A2に英語が入っていれば英語から日本語に、中国語なら中国語から日本語に翻訳されます。さまざまな言語のデータを1つの数式で処理できるのがポイントです。
翻訳先の言語をセルで切り替える
翻訳先の言語コードをセルに入れておけば、ドロップダウンで切り替えられます。
C1セルに言語コード(”en”や”ko”など)を入力しておき、次のように指定します。
=GOOGLETRANSLATE(A2, "ja", C1)
C1の値を変えるだけで翻訳先が切り替わります。複数言語で資料を作りたいときに便利ですよ。
ARRAYFORMULA関数で一括翻訳する
ARRAYFORMULA関数と組み合わせれば、1つの数式でまとめて翻訳することもできます。
=ARRAYFORMULA(GOOGLETRANSLATE(A2:A10, "en", "ja"))
ただし、翻訳対象の行数が多いと処理に時間がかかる場合があります。数十行程度なら問題ありませんが、100行を超える場合は分割して処理するのがおすすめです。
翻訳結果を固定する(値の貼り付け)
GOOGLETRANSLATE関数の結果は翻訳エンジンの更新で変わることがあります。翻訳結果を確定させたい場合は、次の手順で値だけを貼り付けましょう。
- 翻訳結果のセルをコピーします(Ctrl + C)
- 右クリック →「特殊貼り付け」→「値のみ貼り付け」を選択します
これで数式が消えて、翻訳結果がテキストとして固定されます。
よくあるエラーと対処法
GOOGLETRANSLATE関数で「思った結果にならない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE! エラーが出る | 言語コードが間違っている | ISO 639-1形式の2文字コード(”ja”、”en”など)を指定する |
| 翻訳結果が空になる | テキストが空文字列 | 元のセルにテキストが入っているか確認する |
| 翻訳が不自然 | Google翻訳の精度による | 短い文に区切ると精度が上がりやすい |
| #ERROR! が出る | 一度に大量の翻訳を実行した | 行数を減らして分割実行する。しばらく待って再試行する |
| 結果が変わる | 翻訳エンジンが更新された | 確定させたい場合は値の貼り付けで固定する |
| サポート外の言語 | 対応していない言語コードを指定した | Google翻訳がサポートする言語かどうか確認する |
TIP
大量のセルで同時にGOOGLETRANSLATE関数を使うと、一時的にエラーが出ることがあります。そのときは数分待ってからセルを再計算(Ctrl + Shift + F9)してみてください。
Excelとの違い
GOOGLETRANSLATE関数はGoogleスプレッドシート専用の関数です。Excelには同等の関数がありません。
| 項目 | Googleスプレッドシート | Excel |
|---|---|---|
| 翻訳関数 | GOOGLETRANSLATE関数が使える | 翻訳関数なし |
| 翻訳方法 | セルに数式を入力するだけ | アドインやMicrosoft Translatorが必要 |
| 費用 | 無料 | アドインによっては有料 |
| オフライン | 使えない(インターネット接続が必要) | アドインによる |
Excelで翻訳したい場合は、Microsoft Translatorアドインを使う方法があります。ただし、GOOGLETRANSLATE関数ほど手軽ではありません。
スプレッドシートで翻訳した結果をExcelに持っていきたい場合は、先ほど紹介した「値の貼り付け」でテキスト化してからExcel形式で保存するとスムーズですよ。
まとめ
GOOGLETRANSLATE関数は、スプレッドシート上でテキストを翻訳できる便利な関数です。
ポイントを整理します。
- 構文は
=GOOGLETRANSLATE(テキスト, ソース言語, ターゲット言語) - 言語コードはISO 639-1形式の2文字コード(”ja”、”en”など)を使う
- ソース言語を
"auto"にすると自動検出してくれる - DETECTLANGUAGE関数と組み合わせると多言語データにも対応できる
- 翻訳結果を固定したいときは「値の貼り付け」を使う
- Googleスプレッドシート専用の関数で、Excelには同等の機能がない
- 大量データを翻訳するときは分割処理がおすすめ
まずは =GOOGLETRANSLATE("Hello", "en", "ja") で翻訳を試してみてください。
