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

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

宛名印刷:3

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

Excel の宛名印刷で、3桁と4桁のセルにそれぞれ入っている郵便番号を、1桁ずつに分解していく方法を考えてみる。

1.住所録というブックに、Adrtable というシートを作っておく。名前は何でもよい。

2.郵便番号の3桁の数字をC列に、4桁の数字をD列に入れる。

3.同じシートの中に、分解した番号を入れておく7列、たとえばHIJKLMNを割り当てる。

4.郵便番号 974-8231 が、セル C1 と、セル D1 に入っているとする。

5.セルH1 に、セル C1 の3桁の左端の数字 9 を入れる数式を書き込む。
 =INT(MOD(SIGN($C1)*$C1/100,10))

6.セルI1 に、3桁の左端から2番めの数字 7 を入れる数式を書き込む。
 =INT(MOD(SIGN($C1)*$C1/10,10))

7.セルJ1 に、3桁の右端の数字 4 を入れる数式を書き込む。
 =INT(MOD(SIGN($C1)*$C1/1,10))

8.セルK1 に、セル D1 の4桁の左端の数字 8 を入れる数式を書き込む。
 =INT(MOD(SIGN($D1)*$D1/1000,100))

9.セルL1 に、4桁の左端から2番めの数字 2 を入れる数式を書き込む。
 =INT(MOD(SIGN($D1)*$D1/100,10))

10.セルM1 に、4桁の左端から3番めの数字 3 を入れる数式を書き込む。
 =INT(MOD(SIGN($D1)*$D1/10,10))

11.セルN1 に、4桁の右端の数字 1 を入れる数式を書き込む。
 =INT(MOD(SIGN($D1)*$D1/1,10))

これで結果はオーライなのだが、一度限りの操作と違い、繰り返し使うマクロでは、どこかで回りくどく余分なことをさせておくのは感心しない。
まだ追究の余地はありそうだ。