エクセルの関数を覚えると、面倒な計算やデータ処理が楽々とこなせるようになります。合計なら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関数も、それぞれの単体の働きを見るだけでは、「だから何?」という印象だけが残ります。

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