前回は、エクセルでシートを作るとき第一に考えなければならないことを押さえました。誰もが見やすく、使いやすいシートに仕上げることが“実用シート”には不可欠です。今回は、その「使いやすさ」を向上させる具体的な方法を学びましょう。

 まずは下の図を見てください。左側に地域別の人数を示した表があり、右側の「地域」欄と「性別」欄に入力すると、該当する人数をF5セルに表示します。F5セルに入っているのは「=INDEX(B3:C8,MATCH(F2,A3:A8,0),MATCH(F3,B2:C2,0))」という式。この式で、左側の表を検索し、人数を取り出しています(図1)。

図1 F2セルに指定した「地域」が何行目か、F3セルに指定した性別が何列目かをそれぞれMATCH関数で調べ、その行、列に対応する位置からINDEX関数で人数を取り出している

 式の説明をすると、MATCH関数は引数に「検査値、検査範囲、照合の型」を指定して、「検査値」が「検査範囲」内で何番目にあるかを調べる関数です。「照合の型」を「0」とすると“完全一致”で検索します。これを使い、指定した「地域」が何行目かを調べているのが「MATCH(F2,A3:A8,0)」という部分です。「横浜」の場合は「2」行目という結果になります。同様に「MATCH(F3,B2:C2,0)」という部分で「性別」が何列目かを調べています。またINDEX関数は、引数に「範囲、行番号、列番号」を指定して、「範囲」内の「行番号」「列番号」に対応する位置からデータを取り出す関数です。この「行番号」と「列番号」に前述のMATCH関数式をそっくり組み込むことで、該当する人数を表から取り出しています。

 この式は、「地域」欄と「性別」欄を正しく入力すれば、正しい結果が得られます。しかしながら、F3セルの「性別」欄に「女」とだけ入力した場合はどうでしょう。MATCH関数は左表で「女」というセルを探しますが、当然見つかりません。左表には「女性」と書かれているからです。するとMATCH関数は「値が無効である」という意味のエラー「#N/A」を返し、結果的にINDEX関数も同じエラーを表示することになります(図2)。

図2 「性別」欄に「女」と入力した場合、左表の「女性」という見出しと一致しないので、式はエラーとなる。「#N/A」は「値が無効である」(not available)という意味のエラーだ

[エラーは数式に付き物なので:次のページへ]