Excel関数で翻訳する方法をお探しですね。
広告
Excelで英訳・和訳を自動化!WEBSERVICE関数と翻訳APIで作業時間を大幅短縮
Excelで商品名やメール文、アンケート回答などを翻訳するとき、いちいち翻訳サイトにコピペして…を繰り返すのって、けっこう面倒ですよね。
Googleスプレッドシートには便利なGOOGLETRANSLATE関数がありますが、残念ながらExcelには同じような関数が最初から入っていません。
そこで使いたいのが、ExcelのWEBSERVICE関数と翻訳APIを組み合わせる方法です。
セルに入力した日本語を、隣のセルに自動で英訳して表示させる、なんてことができちゃいます。
この記事では、仕組みから実際の使い方、注意点まで、わかりやすく説明していきますね。
1. ExcelのWEBSERVICE関数と翻訳APIって何?
Excelには「校閲」タブに翻訳機能がついています。
でもこれ、翻訳結果が画面の横に出るだけなんですよね。
1〜2行確認するぐらいなら便利なんですが、数十行、数百行のリストをまとめて翻訳したいときには向いていません。
翻訳結果を一つずつコピペしていると、貼り付ける場所を間違えたり、訳文がズレたりするミスも起きやすくなります。
そんなときに役立つのが**WEBSERVICE関数**です。
この関数は、指定したURLにアクセスして、その結果をExcelのセルに表示してくれる便利な機能。
そして**翻訳API**というのは、URLに「この文章を英語にして」みたいな情報を送ると、翻訳結果を返してくれる外部サービスのことです。
つまり、A列に日本語を入れておいて、B列に英訳を自動表示する、という流れをExcelの関数だけで作れるんです。
考え方としては、GoogleスプレッドシートのGOOGLETRANSLATE関数に近いイメージ。
ただExcelでは`=GOOGLETRANSLATE(A2,”ja”,”en”)`みたいな専用関数は使えないので、代わりに`WEBSERVICE`関数と`ENCODEURL`関数を組み合わせます。
**ENCODEURL関数**は、日本語やスペース、記号などを、URLで安全に送れる形に変換してくれる関数です。
日本語をそのままURLにくっつけると文字化けしたりエラーになったりするので、翻訳APIを使うときはほぼ必須と思ってください。
列の構成としては、こんな感じがおすすめです。
– A列:原文(日本語や英語)
– B列:英訳
– C列:和訳
こうしておけば、元のデータを残したまま翻訳結果を確認できます。
Excel標準の翻訳機能より見やすいですし、オートフィル(セルの右下をドラッグするやつ)で下の行にコピーできるので、商品リストやFAQ、メールのひな形なんかの翻訳作業にぴったりです。
2. 実際に使ってみよう!基本の式と設定例
WEBSERVICE関数の基本的な書き方は、こんな感じです。
“`
=WEBSERVICE(“アクセスするURL”)
“`
翻訳APIを使う場合は、このURLの中に「翻訳したい文章」「翻訳元の言語」「翻訳先の言語」などの情報を入れ込みます。
APIによってURLの書き方は違いますが、Excelでやることは共通。
セルの値をENCODEURLで変換して、APIのURLにくっつけて送る、という流れです。
たとえば、英語から日本語に翻訳するAPIがあったとして、結果をそのまま返してくれる仕様なら、こんな式になります。
“`
=WEBSERVICE(“https://api.example.com/translate?from=en&to=ja&text=”&ENCODEURL(A2))
“`
日本語から英語に翻訳したいときは、翻訳元と翻訳先を入れ替えればOK。
“`
=WEBSERVICE(“https://api.example.com/translate?from=ja&to=en&text=”&ENCODEURL(A2))
“`
実際には、使う翻訳APIの説明書(仕様書)に合わせて、URLやパラメータの名前、APIキーの指定方法を調整します。
サービスによっては`from`じゃなくて`source`、`to`じゃなくて`target`という名前を使うこともあります。
言語の指定は、英語なら`en`、日本語なら`ja`みたいなコードで指定するのが一般的。
フランス語は`fr`、ドイツ語は`de`、韓国語は`ko`、中国語は`zh`などがよく使われますが、対応している言語やコードはサービスごとに確認してくださいね。
実際の仕事で使うなら、式を長々と書くより、列をわかりやすく分けたほうが便利です。
たとえば、
– A列:原文
– B列:和訳(英語→日本語の式)
– C列:英訳(日本語→英語の式)
という感じで設定して、B2とC2に式を入れたら、あとは下にドラッグするだけで複数行の翻訳が一気にできます。
元のセルを上書きしないから、翻訳前後の比較や修正もラクラクです。
翻訳APIやAI変換サービスの中には、ExcelのWEBSERVICE関数にそのまま貼り付けて使えるURL形式を提供しているところもあります。
たとえば、
“`
=WEBSERVICE(“https://api.example.com/get?code=translate-en2ja&text=”&ENCODEURL(A2))
“`
みたいな形で使えるやつですね。
大事なのは、**Excelが受け取れる形で結果を返してくれるAPI**を選ぶこと。
WEBSERVICE関数はシンプルな取得には便利ですが、複雑な認証が必要だったり、POST送信しか受け付けないAPIとは相性がよくないので注意です。
3. たくさん翻訳するときのコツとエラー対策
WEBSERVICE関数と翻訳APIを組み合わせると便利なんですが、セルに式を入れた瞬間に外部サービスにアクセスするので、大量データだと処理が重くなることがあります。
100行ぐらいなら問題なくても、数千行を一度に再計算すると、Excelが固まったように見えたり、API側の利用制限に引っかかったりすることも。
翻訳APIには、「1分間に〇回まで」「1日〇文字まで」「無料枠は月〇回まで」みたいな制限があることが多いので、仕事で使う前に必ずチェックしておきましょう。
エラーが出る主な原因は、こんな感じです。
– URLが長すぎる
– APIキーが間違っている
– ネット環境が不安定
– APIの上限に達した
– 返ってくるデータの形式が合わない
特に長い文章をセルに入れて翻訳しようとすると、URLが長くなりすぎて正常に送れないことがあります。
WEBSERVICE関数はGETリクエスト(URLに情報を含める方式)なので、長文や複数段落の翻訳にはあまり向きません。
短い商品名、見出し、説明文、問い合わせ文など、セル単位で管理しやすいテキストに使うのが現実的です。
安定して使うためのポイントをまとめておきますね。
– **短文中心で使う**。
長文は分割してから処理する
– **一度に数千行を再計算しない**。
必要な範囲ごとに実行する
– **翻訳結果が確定したら「値」として保存**する(数式のままにしない)
– **APIキーを共有ファイルに直接書く場合は、閲覧権限に注意**する
翻訳結果が返ってきたら、必要に応じて「値の貼り付け」をするのも大事です。
数式のまま残しておくと、ファイルを開くたび、または再計算のたびにAPIにアクセスしちゃいます。
APIの利用回数を無駄に消費するだけじゃなく、前と違う訳文が返ってくることもあります。
納品物や社内資料として確定版にしたいときは、翻訳列をコピーして「値のみ貼り付け」で保存すると安全です。
あと、Excelのバージョンや使っている環境にも注意が必要です。
WEBSERVICE関数は主にWindows版Excelで使える関数で、環境によっては使えなかったり、期待通りに動かなかったりします。
Mac版やWeb版Excel、会社のセキュリティ設定で外部URLへのアクセスが制限されているケースもあるので、導入前に実際に使う端末とネットワークでテストしておくと安心です。
4. 翻訳精度・セキュリティ・実務で気をつけたいこと
Excel上で自動翻訳できるようになると、翻訳作業はめちゃくちゃ効率化できます。
ただ、機械翻訳やAI翻訳は万能じゃありません。
普通の文章なら自然に訳せることが増えてきましたが、契約書、医療、法務、特許、技術仕様書みたいな専門分野では、用語の揺れや誤訳が業務上のリスクになることもあります。
外部に公開する文章や、重要な判断に使う資料では、必ず人がチェックするようにしましょう。
特に気をつけたいのが、**機密情報や個人情報の扱い**です。
WEBSERVICE関数を使うということは、セル内のテキストを外部APIに送信するということ。
顧客名、メールアドレス、契約金額、未発表の商品情報、社外秘の技術情報などを、無料APIや規約を確認していないサービスに送るのは絶対に避けてください。
法人で使う場合は、こんなことを確認しておきましょう。
– 入力データが学習や品質改善に使われるか
– ログが保存されるか
– データの保存地域や削除方針はどうなっているか
翻訳精度を高めるには、API選びだけじゃなく、**Excel側の原文データを整える**ことも大事です。
1つのセルに複数の話題を詰め込むと、翻訳エンジンが文脈を判断しにくくなります。
不要な記号、管理番号、改行、注釈が混ざっている場合も、訳文が不自然になる原因に。
翻訳する前に、原文を短く整理して、表記ゆれを減らして、固有名詞を統一しておくと、結果の品質が安定しやすくなります。
Excelで自動翻訳する方法は、WEBSERVICE関数以外にもいろいろあります。
– **Googleスプレッドシート**のGOOGLETRANSLATE関数(手軽だけどExcel内で完結しない)
– **VBA**(柔軟なAPI連携やJSON解析ができるけど、知識が必要)
– **Power Query**や**Office Scripts**(本格的な自動化向け)
– **専用アドイン**(DeepLやMicrosoft Translatorなどの法人向けサービス)
短文を手早く隣のセルに出したいならWEBSERVICE関数、本格的な業務フローに組み込むならAPI仕様や管理機能を含めて検討する、という使い分けが現実的です。
まとめ
WEBSERVICE関数と翻訳APIを使えば、Excel上で英訳・和訳を自動化して、コピペ中心の翻訳作業を大きく減らせます。
基本は、原文セルをENCODEURLで変換して、翻訳APIのURLにくっつけてWEBSERVICE関数で結果を取得するだけ。
ただし、注意点もあります。
– APIの利用制限
– 長文処理の難しさ
– セキュリティ(機密情報を送らない)
– 翻訳精度(専門分野は人がチェック)
まずは機密性の低い短文データで試してみて、うまく動くことを確認してから、商品リストや社内資料の下訳など、効果が出やすい業務から導入してみてください。
慣れてくると、翻訳作業がグッとラクになりますよ!
広告
