うっかりユーザのパソコン奮闘記

パソコンを使っていて感じたあんなこと、こんなこと、気ままに書いていきます。

宛名印刷:6

2011年12月12日 | 忘れかけていたこと

Excel の宛名印刷の話はしぶとく続く。
3桁の2番目の数字を取り出すのに、MOD 関数を使わなくても、掛け算、割り算、引き算を組み合わせるとできることを、12月10日のコメントでHさんから教えていただいた。

ふりかえってみると、疑問が残っている。
はじめに取り入れた2番目の数字を引き出すときの、
 =INT(MOD(SIGN($C1)*$C1/10,10))
にある (SIGN($C1)*$C1 という部分の解明がすんでなかった。

SIGN 関数は、数値の正負に対応する数値を返します、という難解文の説明がある。
「正負に対応する数値」と言われると難しく聞こえるが、
正の場合 SIGN(n) の返り値は 1 で、負の合 SIGN(-n) の返り値は -1、
それだけのことらしい。

紹介されている数式は、計算対象の数字がどんな場合にも通用しなければならない万能型になっているから、マイナスの値のない郵便番号にはこの部分はいらなかった。
SIGN 関数の部分をなくして、ためしに郵便番号をマイナスにしてみると、とんでもない結果が現れた。