Excel の宛名印刷で、3桁と4桁の数字で記録されている郵便番号を1桁ずつに分解する数式を、Webの記事丸写しで作っては見たが、たかだか30文字ぐらいの簡単な数式でも、根底の意味を理解しようとすると、自前の閑枢脳ではなかなか滑らかにはいかない。
まず最初の頭の1桁は、
=INT(MOD(SIGN($C1)*$C1/100,10))
という式で、答えは間違いなく返ってきた。
関数を使った場合、答えが出たと言わずに、「返った」という言い方がなじみにくいのだが、そう言い表すことに決めてあるらしいから、そうですかと受け入れるより仕方がない。
たとえば、教科書の説明には、SIGN関数は「数値の正負に対応する数値を返します」と書いてある。
Y印の知恵袋には、一言一字ずつこの意味は何ですか、語源は何ですか、文法的に正しいですかと、答えをもらったところで何の役にも立たないことをたねにして質問を出す人がたくさんいる。
こういう人には格好のねたになりそうな言葉である。
ここに使った式の大枠はINT関数で、( )の中の数値を、最も近い整数に切り捨てるというものである。
3桁の数値の頭の数字を取り出すには、100 で割って小数部分を切り捨てればよいのだから、INT関数のみでもよさそうである。
ためしにこの式を、セル C1 を 100 で割って整数にするだけに書き直してみる。
=INT($C1/100)
頭の数字はこれでよいとしても、さて2番目数字はどうするか。