Excel の関数にも「改行」と「インデント」を使ってみる

今となっては当たり前にやっているけど、新人時代に初めて見てビックリしたので書いてみる。

Excel の関数。SUM() とか ROW() とか、色々ある。これらを複雑に組み合わせれば、ちょっとしたプログラムみたいなこととか、入力チェック風な処理も書けたりする。

たとえば次の関数は、「A1 セルの入力文字数によって、- (0文字)・ (1~4文字)・× (5文字以上) を表示する」という関数だ。右隣の B1 セルにでも入れておけば、簡易入力チェックになる。

=IF(A1="","-",IF(LEN(A1)<5,"○","×"))

左から読んでいけば、「If・A1 が、空欄、なら、ハイフン表示、そうでなくて、If・A1 の長さ、5より小さい、なら、表示、そうでなければ、×表示」と読めるが、少し可読性に欠ける。このぐらいの長さならまだしも、もう少し長くなる複雑な条件だと見づらくなるだろう。

そこで、複雑な関数を打つ時もスペースや改行、インデントを入れてみる。

F2 キーでセルの編集モードに移動し、カーソルを動かしやすくする。通常の文章を打つ時と同じように、Alt + Enter で改行だ。

=IF(A1 = "",
    "-",
    IF(LEN(A1) < 5,
        "○",
        "×"
    )
 )

1行目の先頭はイコール記号だし、セル内容が見える編集バーはプロポーショナルフォントで表示されるから、スペースによるインデントは綺麗には揃わない。

それでも、カッコの位置を揃えたりすると、入れ子関係が見やすくなるし、編集もしやすくなる。

数式にエラーがある場合はある程度自動整形されたりするが、基本的には入力したまま残るので、改行やインデントもきちんと保存される。

インデントが付けられると、頭が整理できるから、例えば VLOOKUP() を複雑に組み合わせたりするのも難易度が下がると思う。よかったらぜひ。