エクセルの関数を覚えると、面倒な計算やデータ処理が楽々とこなせるようになります。合計ならSUM関数、平均ならAVERAGE関数…のように目的に応じた関数の式を立てるだけで、エクセルが自動処理してくれるからです。VLOOKUP関数のように「請求書に品番を入れるだけで、品名を表示する」といった検索機能を実現する関数もあります。関数を使いこなせば、エクセルが“何でもできる万能ソフト”に早変わりすること請け合いです。

 しかし一方で、「自分のやりたいことを実現する関数が見つからない…」という悩みをよく耳にします。例えば「VLOOKUP関数で品名を自動表示する式を作りましたが、検索する品番が空欄の場合にエラーが表示されます。エラーにならないVLOOKUP関数はありませんか?」という質問を、私はこれまで何度となく受けてきました。もちろん、エクセルには「エラーにならないVLOOKUP関数」など存在しません。ではこの質問者の要望をかなえることは、エクセル関数には不可能なのでしょうか?

 いやそんなことはありません。こうした質問をされる方の多くには、「関数を組み合わせて使う」という発想がないのでしょう。「エラーにならないVLOOKUP関数」は存在しませんが、「VLOOKUP関数にエラーを表示させない方法」なら存在します。すなわち、IF関数やISERROR関数とVLOOKUP関数を組み合わせて、「もしVLOOKUP関数がエラーになるなら別の処理をして、そうでなければVLOOKUP関数で品名を表示する」などと対策を講じる方法です。

 エクセルの関数は、料理でいうと“素材”のようなものです。ニンジンを1本お皿に乗せただけでは夕食になりませんが、他の材料と一緒に煮込むことで美味しいシチューが完成します。「関数は組み合わせて使う」という発想こそが、エクセルマスターへの第一歩なのです。

 といっても、最初はなかなかイメージが湧かないかもしれません。そんなときは、具体的な組み合わせの例を見るのが手っ取り早いでしょう。まずは組み合わせて初めて威力を発揮する関数の代表、FIND関数の使用例を見てみます。

 FIND関数は、セルの中で特定の文字を探し、その文字が何文字目に位置するかを求める関数です。この関数を単体で説明するときには、次のような例で解説されることが多いでしょう(図1)。

図1 FIND関数を単体で使った例。C2セルの「Microsoft」という文字列の中で、「s」という文字が何番目にあるかを調べている。結果は「6」文字目と表示される

 FIND関数は、引数に「検索文字列」と「対象」を指定します。ここでは「検索文字列」が「s」、「対象」がC2セルの「Microsoft」です。しかしながら、「s」が6文字目とわかったところで、いったい何がうれしいのでしょうか。FIND関数の便利さはいったいどこにあるのでしょう?

 その答えを知る前に、もう1つ関数を紹介しておきます。LEFT関数は、「左から3文字」などと文字数を指定して、セルから文字を切り出す関数です(図2)。

図2 E2セルにLEFT関数の式を立て、「Microsoft」(C2セル)という文字列から「左から3文字」を切り出した。結果は「Mic」となる

 LEFT関数を使うと、引数「文字数」に指定した文字数だけ、左から切り出せます。しかし、このLEFT関数にしてみても、上の例を見ただけでは、実用性が感じられません。FIND関数もLEFT関数も、それぞれの単体の働きを見るだけでは、「だから何?」という印象だけが残ります。

[次のような事例を考えてみましょう:次のページへ]

この先は会員の登録が必要です。今なら有料会員(月額プラン)登録で6月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら