Registered at Feb.11 2002
Excel 孫の手−34
皆さんが頻繁に使う「Excel」について、いろいろなテクニックを紹介していきます。
「住所を上手に2分割」
Q.エクセルで作った住所録を使って、ワードでラベル打ちをしたんですが、
住所が長いと表示しきれないことが有ります。
仕方なく、元の住所データを2つに分けて打とうとしたんですが、切りの
良いところで分けようとすると、手間ばかりかかってしまいます。
何とかなりませんでしょうか。
例えば、こんなふうです。
住 所
神奈川県横浜市青葉区すすき野6−8−9
北海道札幌市北区北十五条西14−9−8−302
・・・・・・・・
↓
住所1 住所2
神奈川県横浜市青葉区 すすき野6−8−9
北海道札幌市北区北十五条 西14−9−8−302
鹿児島県串木野市住吉町 1丁目3番6号
A.そうですね。どこでも良いから、同じ長さで切り取ってしまえばいいなんて
乱暴な人がいますが、綺麗さや心配りがかけていると思われてしまいます。
Q.文字の切り取りなんて出来るんですか。
方法を知っていたら、とても楽ですよね。
A.そうなんですが、切り取る方法は関数を使うんですね。
=MIDB(E4,1,24)
この関数です。例では、 E4 の1バイト目から24バイトを抜き出すと言う
意味になります。ただし、漢字・ひらがなは1文字2バイトです。
と言うことは、画一的に処理するのには向いていても、個別の長さが変わる
とそれなりの対応が必要です。
Q.「それなりの対応」と言うことは、個別対応へのテクニックが有ると言うこ
とですね。
A.バレちゃいましたね。では、早速、以下のようにやってみましょう。
住 所
1 神奈川県横浜市青葉区すすき野6−8−9
2 北海道札幌市北区北十五条西14−9−8−302
3 鹿児島県串木野市住吉町1丁目3番6号
上の例のように分けるためには、住所の前の部分は
1 なら、先頭から20バイト
2 なら、先頭から24バイト
3 なら、先頭から22バイト 切り取ります。
住所の後の部分は、
1 なら、先頭から21バイト以降18バイト
2 なら、先頭から25バイト以降22バイト
3 なら、先頭から23バイト以降14バイト 切り取ります。
と言うことで、関数の式に中に最初から何バイトとしないで、別のセルに
切り取る分だけのバイト数を入力してあげて、そこを式で参照してあげます。
そして後半部分は、参照しているセルの値に 1 を加えたところから、
切り抜くことになります。
A.先ほどの計算式をもう一度見てみましょう。
=MIDB(E4,1,24)
ここで、何バイト分切り出すかという数字を固定化する代わりに、切り出したい
文字数バイト分の数字を入れたセルを参照してあげれば、そのセルの数字を代え
るだけで、切り出す文字数を変化させられますよね。
切り出すバイト数のセルを E3 としたならば、先ほどの計算式は、
=MIDB(E4,1,E3) となります。
参考までに後半の式は、
=MIDB(E4,E3+1,30) となります。
Q.後半の最後の数字の 30 は、どこから持ってきたんですか。
A.ぬぬ、鋭いつっこみ。
実は、そこは経験的に最大でも「そんな物」という値です。
孫の手69〜最新TOPへ 孫の手1〜68TOPへ