繰り返しになるが、Excelは“業務で使う道具”である。すなわち、業務に差し障りのあるような使い方は避けなければいけない。

 一例として、図1の数式を見てほしい。日付、名前、金額が入力された表で、「9月」に該当するデータの金額だけを合計したものだ。計算自体は正しく行われているが、この数式が何をやっているのか、あなたは理解できるだろうか。

●第三者でも理解できるシート作りを心掛けよう
●第三者でも理解できるシート作りを心掛けよう
図1 数式やマクロは、業務を遂行するための道具として作成しなければならない。それを引き継いだ第三者が理解して活用できないものは作るべきではない
[画像のクリックで拡大表示]

 この数式は「配列数式」と呼ばれ、数式の先頭と末尾に「{ }」が付いているのが特徴。概要を説明すると、MONTH関数を使ってA2~A9セルの日付を1つずつ判断して、それが「9」(9月)だった場合に、IF関数でC2~C9セルを取り出し、その結果をSUM関数で合計している。一般的なExcelの解説書では触れられることが少ないテクニックだが、インターネット上で検索すると、Q&Aサイトなどによく登場する。

 こうした数式を、ネットの情報をコピペして深く理解もせずに使うことはもちろん、理解できている人でも、安易に使うのは避けたい。そのブックを他人と共有したり、引き継いだりした後にどうなるかを考えるべきだ。多くの人はそれを理解できず、また一度数式を編集しようとしたら、元に戻せなくなるだろう。

 というのも配列数式は、再編集した後[Enter]キーを押すだけではエラーになる。配列数式の確定には[Ctrl]+[Shift]+[Enter]キーを押す必要があること、両端の「{ }」は確定時に自動で付くことなど、どれだけの人が知っているだろうか。

 業務に使う道具は引き継がれるものであり、ワークシートやその数式、マクロ(VBA)は、いつかは別の誰かが利用するものになる。だからこそ、第三者が理解できないやり方はしてはいけないのである(図2)。

図2 難しい数式を作って一発で答えを求められるのが上級ではない。シンプルで分かりやすい式で、誰が見ても理解しやすく、引き継いで再利用できるようにすべきだ
図2 難しい数式を作って一発で答えを求められるのが上級ではない。シンプルで分かりやすい式で、誰が見ても理解しやすく、引き継いで再利用できるようにすべきだ