翻訳業務でExcelを効率よく使うには
2014年度第1回JTF翻訳セミナー報告
翻訳業務でExcelを効率よく使うには
田中 亨(たなか とおる)
Excelの機能・関数・VBAすべてに精通する数少ないExcelのプロフェッショナル。税理士事務所勤務を経て、1997年に「入門 Excel97 VBA」(秀和システム)を執筆、以降 Excel関連の書籍を多数執筆。ネット上でExcelの有益な情報提供サイトの草分け的存在であるofficetanaka.netを1995年に開設。
さらにMicrosoftが卓越したコミュニティ活動者に対してアワードを授与する MVPアワードExcel部門の日本で最初の受賞者。以降、11年連続で MSMVPアワードを受賞中。近年はトレーニング、セミナー、企業向けコンサルティングを実施し直接ユーザーに対して Excelを指導。2013年に一般社団法人実践ワークシート協会を設立、代表理事。
2014年度第1回JTF翻訳セミナー
日時●2014年5月15日(木)14:00~16:40
開催場所●剛堂会館
テーマ●翻訳業務でExcelを効率よく使うには
講師●田中 亨(一般社団法人実践ワークシート協会 代表理事)
報告者●津田 美貴(個人翻訳者)
今回のセミナー講師はMicrosoftのMVPアワードExcel部門日本初の受賞者田中亨氏。Excel関連の本も多数執筆されており、氏の著書にお世話になった方も多いのではないだろうか?本セミナーでは、Excelのスペシャリストからお伝えしたい、Excelの正しい使い方、VBAを効率よく活用するために必要な概念、その学習方法などについてお話し下さった。
Excelとは何か?
エクセルは、「機能」「関数」「VBA」の3要素で構成されている「表計算ソフト」である。「機能」は手動で何かをする(ex.グラフを作るなど)、「関数」はセル内の計算(ex.参照式、ワークシート関数など)、「VBA」はプログラム言語でExcelを自動化する際に用いる(ex.マクロ、ユーザー定義関数など)。Excelではこの3要素を駆使して行いたいことを実現する。「機能」は覚えて選ぶもの、対して「関数」と「VBA」は理解して作るもの、という違いがある。
マクロとVBAが同じものと混同されることも多いが、まったく別物である。マクロはExcelの機能(あらかじめ準備されている命令書)であり、VBAはプログラム言語(CやJavaと同様に機械に対して命令するための言語)である。また、マクロとマクロ記録(実際に行った操作を記録する)は別物なので注意して欲しい。関数は覚えて使うものだが、マクロの作成はストーリーを作るようなもの(スクラッチで書く)であり、選んで使うものではない。つまり、書くために使う言語がVBAというわけだ。
翻訳業務で便利なマクロと機能
お役に立ちそうなマクロを3つ作ってきたのでまずは見ていただきたい。(デモ①:用語集から該当の用語(英単語or訳語)を探して表示するマクロ。デモ②:Excelの原稿内から検索したい文字or文字列を指定すると、該当する箇所の文字色を変えるマクロ。デモ③: テキストBoxに入っている内容をテキストファイルに書き出す。訳した後に元のテキストBoxに戻すマクロ)
デモ①や②は並べ替えやオートフィルタ、検索機能(Ctl+F)などを使えば同じことが出来るのでは?と思った方もいらっしゃるのでは?その通り、可能である。ではマクロを使うことで何がいいことなのかというと、「選択肢が増える」ということである。逆にデモ③のようにマクロでしか実現できないこともある。例えば、先ほど質問ででた1週間分の検索した英単語の履歴を取りたいとか、手動コピーでは失敗するほど大量のコピーを行いたいもマクロでなら可能だ。
しかしExcelは本来表計算ソフトなので、できることと出来ないことがある。たとえばセル内の文字が印刷すると途中で切れてしまうことがあるが、これは1セル内に入力可能な文字数が決っているためでマクロでも直すことができない。また、Excelは表計算ソフトなので、経理用の機能、営業用の機能というものはない。同様に、翻訳用の機能などというものもない。表記の揺れをチェックする(文字列を探す、一括変換する)ことは可能だが別のソフトを使った方が早い。したがって、Excelは表計算ソフトであるからとある程度割り切って使ってもらう必要がある。
なぜそのままExcelマクロを使えないのか
ネット上で公開されているマクロを持ってきて、自分の環境で使えなかったという経験は無いだろうか?環境設定とかExcelのバージョンの違いなど、自分の環境に合わせたカスタマイズが必要になる。また、汎用的なマクロを組むことは難しいので、ファイル名やSheet名、セル幅など、運用の際にルールを作っておく必要があることもある。
このようにマクロを移植する際に少し手直しする必要があるが、基礎がわかっていないと直すことはできない。これは翻訳の際に主語と述語がわかっていないと訳せないのと同じようなものだ。
手直しをする際にネットで調べると「こうすればできる」はあっても「なぜこうすべきか」が書かれていないものがほとんどである。Excelを理解して書いている人は少なく、素人がちょっと直したら動いたと理解しないで書いているものが多いので情報を鵜呑みにしないこと。ネットの情報は玉石混交なので気をつけて使って欲しい。
Excelを使いこなすために何を学べばよいか?
「これからExcelを勉強したいが、「機能」「関数」「VBA」のどれから始めたらよいだろうか?」と質問されることがよくある。機能をわかっていないとマクロは書けない。したがって、どれか1つだけやどれかを優先的に学ぶということではなく、3つとも並列して学ぶ必要がある。ExcelやVBAの基礎を学習するしかなく、何か特別なことや近道はない。
マクロを作るためには、「機能」を覚えて「関数」と「VBA」を理解して作る。関数とVBAは一覧表などから選ぼうとせずに覚えて使うようにする。関数は単体ではなく組み合わせて使うものが多く、あくまで素材でしかない。そういう意味でも一覧表から選んで使うという発想は捨てていただきたい。
自分が考えているマクロを実現することが可能か不可能かなら、実現することが可能だ。しかし、それを自分でプログラムを組んで実現するのが現実的かはまた別だ。手動で行ったほうが早い場合もあるし、外注して作ってもらったほうが早く安くできる場合もある。その判断は必要である。
みなさんが作りたいと思っているマクロは、マクロ記録で作れるほど楽な操作ではないので、マクロ記録でマクロを作ることはできない。ただし、マクロ記録をわからないことを調べる辞書の代わりに使うのはかまわない。また、Excel VBAはあくまで道具なので、人間がルールを作って運用していかなければならない。プログラム云々はその後で、人間のうっかりミスを減らすためのものである。
まとめ
Excelは本来「表計算ソフト」であり翻訳業務を支援する専用の機能はない。デモで紹介したマクロは一般的な文字列操作のマクロでしかない。
Excelは本来入力→計算→出力(グラフを作る、ピポットテーブル、印刷、保存など)の流れを想定して作られているので、この流れにそってExcelを正しく使って業務を効率化していただけたら幸いである。
(感想)
デモ③のテキストBoxに入っている内容をテキストファイルに書き出す、もとに戻すツールは会場内のあちらこちらから「欲しい!!」という声が上がった。Excelは表計算ソフトなので用語集くらいしか使い道がないと思っていたのだが、マクロを使えばこんなこともExcelでできるのか!と目から鱗であった。