検証日 2026-06-19

Excel TRANSLATE関数:検証済みの構文・使用例・制限事項

TRANSLATE関数を使えば、機械翻訳をスプレッドシートに直接取り込み、Excelを離れることなくテキストをある言語から別の言語へ変換できます。多言語データを日常的に扱う方にとって、これはMicrosoftが近年追加した中でも特に便利な機能のひとつです。本ガイドでは、私たちが実際に検証した内容、すなわち構文、言語コード、実用的な使用例、そして遭遇しやすいエラーについて解説します。

クイックアンサー

=TRANSLATE(text, [source_language], [target_language]) は、Microsoft Translation Servicesを利用してセルの内容をある言語から別の言語へ翻訳します。対応するMicrosoft 365のバージョンでのみ利用可能で、インターネット接続が必要です。source_languageを空欄にすると言語を自動検出します。言語が混在するデータの場合は、DETECTLANGUAGEと組み合わせて使用してください。

TRANSLATE関数の検証方法

私たちは、英語・スペイン語・フランス語・ドイツ語・日本語・中国語による商品説明、カスタマーレビュー、短い表の見出しを含む96行のサンプルブックでTRANSLATEを検証しました。単一セルの翻訳、列全体の翻訳、自動検出、非常に長いテキストでの動作、空のセルでの動作を確認しています。

検証環境

  • Excelバージョン: Excel for Mac 16.110 (26061317), Microsoft 365 subscription
  • オペレーティングシステム: macOS
  • 検証日: 2026-06-19

ExcelのTRANSLATE関数とは?

TRANSLATEは、ある言語のテキストを受け取り、裏側でMicrosoft Translation Servicesを利用して別の言語に変換して返します。2024年末に登場し、Microsoft 365を通じて展開されました。

試す前に確認すべき2つの要件:

  • Microsoft 365が必要です。 Excel 2021、2019、またはそれ以前の買い切りライセンス版では、この関数は表示されません。365のサブスクリプションに移行する以外に回避策はありません。
  • インターネット接続が必要です。 すべての翻訳呼び出しはMicrosoftのオンラインサービスへ送信されるため、オフラインでは動作しません。

WindowsおよびMac版のExcel for Microsoft 365、Excel for the web、Excel Mobileで利用できます。サービス連携型の関数であるため、対応している言語は、Microsoftが追加・削除するのに伴って変わることがあります。

TRANSLATE関数の構文

構文はシンプルです:

=TRANSLATE(text, [source_language], [target_language])

3つの引数:

  • text — 翻訳するテキスト。A2のようなセル参照のほか、"apple" のように引用符で囲んだテキストも指定できます。これは唯一の必須引数です。
  • source_language (省略可) — 元の言語を表すコード(例:"en")。省略すると、Excelが元の言語を自動的に検出します。
  • target_language (省略可) — 翻訳先の言語を表すコード(例:"es")。

言語コードは二重引用符で囲みます:"en"(英語)、"es"(スペイン語)、"fr"(フランス語)、"de"(ドイツ語)、"ja"(日本語)など。Microsoftは対応言語の完全な一覧をドキュメントで公開していますが、サービス連携型のため対応範囲は変わることがあります。検証で分かった注意点:すべての短いコードがsource_languageとして機能するわけではありません。Excel for Macでの検証では、中国語の "zh" は#VALUE!を返しましたが、"zh-Hans" または空欄(自動検出)のsource_languageでは正しく翻訳されました。

検証から得られた実用的な注意点:target_languageを省略すると、関数はテキストを翻訳しません。したがって、技術的には最初の引数だけが必須ですが、実際にはほぼ常にtarget_languageを指定することになります。

TRANSLATEの使い方 — ステップバイステップ

  1. 翻訳結果を表示したいセルをクリックします。
  2. =TRANSLATE( と入力します。
  3. テキストが入っているセルを参照します(例:A2)。
  4. source_languageのコードを引用符で囲んで追加します(例:"en")。または空欄にして自動検出させます。
  5. target_languageのコードを引用符で囲んで追加します(例:"es")。
  6. 括弧を閉じてEnterキーを押します。

完成した数式:

=TRANSLATE(A2, "en", "es")

オンラインであれば、翻訳されたテキストが表示されます。

実用的な使用例

単一セルを翻訳する

セルA2に「Good morning」が入っていて、これをフランス語にしたい場合:

=TRANSLATE(A2, "en", "fr")

これは Bonjour を返します。

列全体を翻訳する

A列に英語のフレーズ、B列にドイツ語の翻訳を入れる場合。B2に:

=TRANSLATE(A2, "en", "de")

あとはフィルハンドルをダブルクリックまたはドラッグして、列の下方向に適用します。各行がそれぞれの内容を翻訳します。

注意すべき点: 数式を約90行分まで下方向にフィルしたところ、いくつかのセルで一時的に #BUSY!(読み込み中の状態)が表示されましたが、約10秒以内に解決しました。バッチのサイズ自体による恒久的な失敗はありませんでした。実際に発生した失敗は、件数ではなく言語コードが原因でした。"zh" のsource_languageコードを使った中国語の行は#VALUE!を返しましたが、source_languageを空欄にするか "zh-Hans" を使うことで解決しました。

元の言語を自動検出する

言語が混在している場合や不明な場合は、source_languageの引数をスキップします(カンマは両方とも残します):

=TRANSLATE(A2, , "en")

これはA2の内容が何であれ英語に翻訳します。より細かく制御したい場合は、補助的なDETECTLANGUAGE関数でセルに含まれる言語を調べられます:

=DETECTLANGUAGE(A2)
注意すべき点: 私たちの検証では、自動検出は単語1つだけの表の見出しでも正しく処理しました(スペイン語・日本語・中国語の見出しはすべて正確に判定されました)。限界となるのは言語が混在するセルです。複数の言語を含むセルは、支配的な1つの言語として検出され、その部分だけが翻訳され、残りは元の言語のまま残ります。

よくあるエラーとその対処法

発生しやすい問題:

#NAME? / 関数が存在しない。 Microsoft 365を使っていないか、バージョンの更新が必要な可能性が高いです。買い切りライセンス版にはこの関数はありません。

Text Too Long / #VALUE! Microsoftによると、これはセル内の文字数が多すぎる場合に発生します。私たちの検証では、有効なsource_languageを指定していても、約7,000文字のセルは#VALUE!を返しました。より小さなセルに分割すると解決します。

特定の言語での #VALUE!。 私たちの検証では、"zh" のsource_languageコードはすべての中国語の行で失敗しましたが、"zh-Hans" または空欄のsource_languageでは正常に動作しました。ある言語でエラーが出る場合は、自動検出または地域別のコードを試してください。

列をフィル中の #BUSY!。 これは一時的な読み込み中の状態であり、エラーではありません。Excelがサービスの応答を待っている間に表示され、自動的に解消します。私たちの検証では、約10秒以内に解消しました。

接続 / サービスのエラー。 TRANSLATEにはインターネット接続が必要です。オフラインや制限のあるネットワークでは失敗します。

おかしな、または誤った翻訳。 言語コードが引用符で囲まれた有効なコードであることを確認してください。専門用語、スラング、文脈に依存する表現もうまく翻訳されません。言語が混在するセルは、検出された1つの言語だけを翻訳し、残りはそのまま残します。

Excel の TRANSLATE 関数が非常に長いセルで VALUE エラーを返す一方、短い行では記号やコードが保持されている様子
数式バーには =TRANSLATE(D97, , "es") が表示され、約7,000文字のセルは #VALUE! を返しますが、短い行では記号・通貨・コードが保持されています。

TRANSLATEと他の翻訳方法との比較

Microsoft 365を使っているのであれば、TRANSLATEが最もすっきりした選択肢です。そうでない場合は、いくつかの代替手段があります。[校閲]タブの翻訳ツールは、対応するOfficeのバージョン全般で手軽な調べものに使えますし、Google SheetsにはほぼTRANSLATEと同等のGOOGLETRANSLATE関数があります。書式を保ったままワークブック全体を翻訳したい場合は、専用のファイル翻訳ツールのほうが適しています。TRANSLATEはセル単位で動作し、グラフ、画像、レイアウトは扱えないためです。

すべての選択肢を並べて比較した内容は、Excelでの翻訳ガイドをご覧ください。

よくある質問

TRANSLATE関数は無料ですか?

Microsoft 365のサブスクリプションに追加料金なしで含まれていますが、365以外では利用できません。単体での購入はできません。

なぜ自分のExcelにTRANSLATEが表示されないのですか?

365以外のバージョンを使っているか、365のインストールに更新が必要である可能性が高いです。この関数はMicrosoft 365(デスクトップ・Web・モバイル)にのみ存在します。

TRANSLATEは何言語に対応していますか?

Microsoft Translation Servicesを通じて幅広い言語に対応しています。サービス連携型のため、正確な一覧は変わることがあります。現在の対応言語については、Microsoftのドキュメントをご確認ください。

TRANSLATEはオフラインで動作しますか?

いいえ。Microsoftのオンラインサービスを呼び出すため、インターネット接続が必要です。オフラインで使用すると接続エラーが発生します。

なぜTRANSLATEは#VALUE!エラーを返すのですか?

よくある原因は、1つのセル内の文字数が多すぎること(「Text Too Long」のケース)です。テキストを複数のセルに分割すると、たいてい解決します。無効な言語コードもエラーの原因となります。

機密データにTRANSLATEを使えますか?

この関数はテキストをMicrosoftのクラウド翻訳サービスへ送信します。機密データや規制対象のデータの場合は、外部への送信が許可されているかを確認し、まずMicrosoftのデータ取り扱い規約をご確認ください。

出典と更新に関する注記

最終検証日: 2026-06-19

検証環境: Excel for Mac 16.110 (26061317)、Microsoft 365サブスクリプション、macOS、96行の多言語サンプル。

主な参考資料

Excelの翻訳機能、対応言語、または利用要件に変更があった場合、本ガイドを更新します。

セルだけでなく、ワークブック全体を翻訳する必要がありますか?

Excelファイルをアップロードすれば、レイアウト・数式・スタイルを保ったまま翻訳されたコピーが手に入ります。数式は一切不要です。

Excelファイルを翻訳する