Googleの表計算アプリ「Googleスプレッドシート」には、Excelにはない独自関数も用意されています。その代表的なものが「GOOGLETRANSLATE関数」。
「Google翻訳」サービスの翻訳結果を、表計算シート上に自動的に返す関数です。
まだ使ったことがなければ、ぜひ一度Googleアカウントを作成して、Googleスプレッドシート上で、=googletranslate(セル番地,”en”,”ja”) [※英文から和文に翻訳] と入力してみるとよいですよ。
たとえば、以下のような英文のニュース記事があったとします。
Toyota surpassed its main competitor, Germany’s Volkswagen.
関数からの返り値は以下の通りです。
どうですか? めちゃくちゃ便利でしょう?
日本語助詞の使い方が多少ぎこちないことに目をつぶれば、難解な英文のあらすじをつかむことは、関数ひとつで簡単にできてしまうんですよ。
この機能、Excelにも欲しくないですか?
Excelでは翻訳ボタンを押して、Webから結果を取得
残念ながら、ExcelではGOOGLETRANSLATE関数を使うことはできません。
Excelで機械翻訳をする場合、[校閲]→[翻訳]ボタンを押し、「翻訳元の言語」ダイアログボックスに原文をコピー&ペーストして、翻訳先の言語(日本語、英語、フランス語など)を選択します。
翻訳結果は、またコピーしてシート上の必要箇所にペーストします。
しかし、仕事上、長文の外国語を読まなければいけない場合などは、一文(または数行)ずつコピー&ペーストすることは避けたいですよね。
そのような場合に活用できるのが、2021年よりWindows 10ユーザーへ無償提供されることになった「Power Automate Desktop」です。
GOOGLETRANSLATE関数が行っている操作フローをPower Automate Desktopに記憶させてExcel操作
Power Automate Desktopは、現在急ピッチで開発・改良がすすめられているRPA(ロボティック プロセス オートメーション)の一種です。
Excelでの「自動化」というと、従来はプログラミング言語VB(Visual Basic)などを利用してプログラム開発することが一般的でしたが、似たような自動化を「ノーコード(プログラミング無し)」でも実現しようとする仕組みです。
とくに、Webから何らかの情報を取得してExcelへ転記しようとする場合、これまではExcel VBAでInternet Explorer(IE)を操作し、情報を取得することが主流でした。
しかし、IEが2022年6月15日でサポート対象外となってしまい、今後はEdgeやChromeなど、セキュリティ基準の高いWebブラウザを操作しなければならなくなりました。
VBAからの外部操作ができないわけではないですが、追加のフレームワーク(アドイン)を使用する必要があったり、VBAによる自動化のハードルが高くなったことは事実です。
そのため、今後は、プログラミングの深い知識がある人以外は、RAPによって自動化、業務効率化を進めていくことも、選択肢のひとつとなっていくでしょう。
まず、この記事では、GoogleスプレットシートのGOOGLETRANSLATE関数が自動化している内容を、Excel+Power Automate Desktopで実現しようとすると、どのような手順をふむ必要があるか、というポイントについてご説明します。
たとえば、Excelで、セルA2に入力された英文を取り出して、Webサービス「Google翻訳」にかけ、日本語に翻訳された結果を、セルB2に自動的に返す操作を自動化するとします。
その手順を日本語で書き出すと、以下のようになります。
(1)Excelを起動
(2)ExcelワークシートのA2セル情報を読み取り
(3)WebブラウザのGoogle翻訳トップページを、「英語から日本語へ」という条件で起動
(4)「英語」欄にセルA2の単語・文章を入力し「日本語」へ翻訳
(5)「日本語」翻訳結果をWebブラウザから取り出して、ExcelのB2セルに入力
(6)Excelの変更内容を保存
(7)Webブラウザを閉じる
上記の自動化手順をPower Automate Desktopで登録する場合、下図のような流れになります。
まず、Windows 10標準のPower Automate Desktopを起動します(アプリ/ソフトウエアが無い場合には、Microsoftホームページよりインストールしてください)。
すると、「新しいフロー」(※ここで言う「フロー」とは、VBAの「プログラム」にあたる、一連の操作手順名)を登録する画面になりますので、「google翻訳」と名付けて保存します。
この新しく作成された「フロー」の中に、先に日本語で整理したExcelとWebブラウザの操作手順(Power Automateでは、一つずつの手順を「アクション」と言います)を、順番に登録していきます。
各アクションを登録する方法については、別記事で詳しくご説明することにして、ここまで登録が完了した「フロー」を実行すると、GoogleスプレッドシートにおけるGOOGLETRANSLATE関数と同じ結果が、Excelでも得られることになります。
なお、昨今スクレイピングを悪用した不正な情報取得などが数多く報道されています。 せるワザはスクレイピング技術の不正使用には断固反対致します。もともと他社が製作したウェブサイトの著作権は製作者に帰属します。スクレイピングが有効とされるのは、著作権法上の例外規定「情報解析のための複製、または翻案」(他者データを解析して自分の資料、主張をまとめる)の場合のみとなります。また、サイト利用規約にて「スクレイピング禁止」が明示されているサイトへのスクレイピング行為も違法となりますので、実行前には必ず対象ウェブサイトの利用規約などをご確認ください。
まとめ
Excel関数ではできない操作も、Power Automateに記憶させればOK!自動翻訳ツールを作っておくと、外国語資料のあらすじ理解に便利です
「hello」一単語をGoogle翻訳にかけるだけであれば、わざわざ手間をかけて自動化する必要はありません。しかし、「情報を読み取り」→「日本語へ翻訳」→「翻訳結果をExcelに入力」の手順をループ(繰り返し)設定することで、何万行にもおよぶ文章を、自動的に他言語へのWeb機械翻訳にかけることができるようになります。
業務の国際化が進み、外国の製品マニュアルやWeb情報などを参照しなければならない時に、このような「翻訳自動化フロー」をひとつ持っておくと便利だと思いませんか?
Googleスプレッドシートを使用できる環境であれば、関数(GOOGLETRANSLATE)を覚えておくだけですむ話ですが、やはり日本の職場では、Microsoft officeのシェアが高いので、G suite利用制限がかかっているオフィスも多いことでしょう。
そのような場合にも、Power Automate Desktopを活用すれば「擬似GOOGLETRANSLATE関数」が作れます。これからますます高機能化が期待されるRAPをうまく活用して、これまで実現できていなかった業務効率化の可能性についても、いろいろチャレンジしてみましょう!