読者です 読者をやめる 読者になる 読者になる

Miyakawa Blog

ウェブディレクターが日々のことを綴るブログ

パソコンスクールじゃ教えてくれないExcelの使い方

私、今の会社に入るまで10年近く教育産業界で情報処理系講師をしていました。

初めはワープロ専用機の「OASYS」から始まり、BasicやLotus、一太郎、Word、ExcelPowerPointAccessなどのビジネスソフトはもちろん、情報処理国家試験や、いつの間にやらPhotoshopやIllustator、DreamweaverFlashActionScriptまで教えていた時期がありました。

さて、ここ1週間の間にExcelに関して新しい関数を学ぶ経験がありました。

「おや、こんな関数があったのか、、」「パソコン教室でも、情報処理国家試験でも出たこと無いけど、この関数めちゃくちゃ便利!!」というのをいくつか事例を交えて紹介していこうと思います。

さて、次の画面例を見てC8〜D8に入る適切な関数式を求めなさい

関数

これ分かりますか?

決して「C8番地」に「=B3C3+B4C4+B5C5+B6C6+B7*C7」ではないですよ。

SUMPRODUCT関数

結論からいうと、「SUMPRODUCT関数」を次のように使います。

C8番地・・・=SUMPRODUCT(B3:B7,C3:C7) D8番地・・・=SUMPRODUCT(B3:B7,D3:D7)

試してみると分かりますが、対象範囲「B列」と「C列」の隣り合っている数値同士の「積」が「戻り値(計算結果)」として出力(表示)されます。

パソコンスクールではどう教えるのか?

パソコンスクールでは上記写真の計算結果を出す場合は先にも出ましたが、次のような計算式を作ります。

「C8番地」に「=B3C3+B4C4+B5C5+B6C6+B7*C7」 ※スクールや情報処理国家試験では「絶対参照」を絡ませて、計算式をコピーすることも教えますが、ここでは割愛します。

この式作るのすごく面倒ですよね。5行ぐらいの範囲だけならいいんですけどね。 10行とか、20行とでもがんばりますけど、100行超えたら仕事になりませんよね。 でも、先週500行近いセル範囲で同じことをしなくてはならない状況に追い込まれたんですよ、、、、 「家に帰れないかも!?」って、真剣に悩みました。

同じ悩むなら、楽できる方法を探そう

はい、そうです。面倒なことを解決するために「関数」があり、面倒なことを解決する方法を調べるために「ネット」があるわけです。

はじめは関数ウィザードを片っ端から目を通しましたが、解決方法を見つけることができず、Googleに片っ端から思いつくキーワードを入れて、見つけたのが「SUMPRODUCT関数」でした。

見つけたときには「喜びました」そして、実際に関数を入力して想い通りの結果が出てきたときには「感謝」しました。

「これで家に帰れる」と。

「ありがとう、Excel」「ありがとう、Google先生

さて、一難さってまた一難

SUMPRODUCT関数で「問題」を解決したのも束の間、「62ページ分あるワークシートで、#N/Aというエラーが発生すると関連する集計セルもエラーになります。エラーが絶対発生しないように作り直して下さい」というオーダーが来ました。

エラーのセルを見るとそこにあるのは「VLOOKUP関数」ではないですか。

VLOOKUP関数は別名「垂直照合関数」と呼ばれていて、表計算検定や情報処理国家試験などでも出てくる非常にポピュラーな関数です。

「VLOOKUP関数が何たるか?」は詳しくは割愛しますが、簡単にいうと「あるリスト表の見出し値と参照値を比較して、2つの値が一致したら、リスト表の基準値から列方向に数えたところにある「値」を表示する参照関数です」。

VLOOKUP関数は「空白セル」を参照した時に「#N/A」というエラーが出るため、エラー回避の手法としてIF関数を絡めた技も表計算検定や情報処理国家試験でよく出題されます。

実は「空白セル」参照時のエラー回避はシンプルで分かりやすいのですが、致命的な弱点がVLOOKUP関数にはあったのです。 それは「存在しないコード」を入力されたセルを参照しても「#N/A」エラーが出るということです。

このエラーの完全な回避方法はパソコンスクールでは教えてくれません。情報処理試験にも多分出てないでしょうね。

このエラーですが、私やはりネットで調べて解決しました。

VLOOKUP関数

あなたはこのエラーを回避することはできますか?

しばらく考えてみて下さい。

ちなみ考えるときは「家に帰って」からにして下さい。

解答はいずれこのブログで発表します。

読者の方が見つけた回避方法と私の回避ほほが違ってもおこらないで下さいね。