クイックアンサー
=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の使い方 — ステップバイステップ
- 翻訳結果を表示したいセルをクリックします。
=TRANSLATE(と入力します。- テキストが入っているセルを参照します(例:
A2)。 - source_languageのコードを引用符で囲んで追加します(例:
"en")。または空欄にして自動検出させます。 - target_languageのコードを引用符で囲んで追加します(例:
"es")。 - 括弧を閉じてEnterキーを押します。
完成した数式:
=TRANSLATE(A2, "en", "es")オンラインであれば、翻訳されたテキストが表示されます。
実用的な使用例
単一セルを翻訳する
セルA2に「Good morning」が入っていて、これをフランス語にしたい場合:
=TRANSLATE(A2, "en", "fr")これは Bonjour を返します。
列全体を翻訳する
A列に英語のフレーズ、B列にドイツ語の翻訳を入れる場合。B2に:
=TRANSLATE(A2, "en", "de")あとはフィルハンドルをダブルクリックまたはドラッグして、列の下方向に適用します。各行がそれぞれの内容を翻訳します。
#BUSY!(読み込み中の状態)が表示されましたが、約10秒以内に解決しました。バッチのサイズ自体による恒久的な失敗はありませんでした。実際に発生した失敗は、件数ではなく言語コードが原因でした。"zh" のsource_languageコードを使った中国語の行は#VALUE!を返しましたが、source_languageを空欄にするか "zh-Hans" を使うことで解決しました。元の言語を自動検出する
言語が混在している場合や不明な場合は、source_languageの引数をスキップします(カンマは両方とも残します):
=TRANSLATE(A2, , "en")これはA2の内容が何であれ英語に翻訳します。より細かく制御したい場合は、補助的なDETECTLANGUAGE関数でセルに含まれる言語を調べられます:
=DETECTLANGUAGE(A2)よくあるエラーとその対処法
発生しやすい問題:
#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つの言語だけを翻訳し、残りはそのまま残します。

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ファイルを翻訳する