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()
を複雑に組み合わせたりするのも難易度が下がると思う。よかったらぜひ。