Registered at Jan.5 2002

Excel 孫の手−33

皆さんが頻繁に使う「Excel」について、いろいろなテクニックを紹介していきます。

	

「MIDBと埋め込み関数とラベル打ち」

 Q.今回のテーマは何ですか。    判じ物みたいな題名ですが。  A.判じ物とは大時代的な表現。年齢がバレますよ。  Q.そんなことより、中身、中身。  A.今回は、皆さんが良く利用している住所録等で使う文字列の長さを、自在に扱    おうというテクニックです。    住所に限らず、ある長い文字列の一部分を切り出すときに、MIDB を使うと    参考書には書いてありますが、住所などのように県名の長さが違うともう切り    出すのは一律には出来ません。    東京都八王子市 と神奈川県座間市 を例に取ってみましょう。    住所を 都道府県名と区市町村 に分けてくださいと言われたら、通常の    MIDB を使用すると、    東京都八王子市 → =MIDB(A1,1,6) で 東京都              =MIDB(A1,7,8) で 八王子市 に分けられます。    この式を 神奈川県座間市 に適用すると、         神奈川 と 県座間市 に分けられてしまいます。  Q.それやったこと有ります。    10カ所かそこいらだったら、いちいち式を訂正するだけでも対応できますが、    それではあまりに工夫無しって感じですよね。  A.工夫有ってのエクセルです。本当に進歩しましたね。(お世辞です。)    次の表を見てください。みごとに都道府県名だけが分離されています。
 Q.分離されたのは分かりますが、真ん中の数字は何ですか。							

 A.これが今回の工夫した点です。							
   通常の関数だと、上に書いたようになりますが、この表のようにするためには、							
   どこで分離するかの見当を付けて、分離する場所の文字数を勘定して関数に代入							
   してあげればよいのです。							
   具体的には、C1 には、 =MIDB(A1,1,B1)							
         D1 には、 =MIDB(A1,B1+1,24) という式が入っています。
   ここで、 B1 には、6と入っていますから、
   式はそれぞれ =MIDB(A1,1,6) =MIDB(A1,7,24) という式と同じ意味になります。

 Q.これが埋め込みと言うことなんですね。
   でもどうして、都道府県名だけを分離するんですか。

 A.それは郵便番号が普及しているからなんです。
   郵便番号そのものは、町単位までの情報を含んでいますから、本当は番地のみ記入
   するだけで配達可能なんですが、見た目もありますし、数字記入間違いの時もしか
   すると、ベテランの郵便局員さんが訂正してくれるかも知れませんし。
   だから、都道府県名は省いてもいいし、住所をラベル打ちする時に、あまり長いと
   レイアウトがし辛いですから、短くできるところは短くと言う発想です。

 Q.ここで更に質問。
   切り分け用のB列は、全部偶数ですよね。どうしてなんですか。

 A.鋭い、着眼点バッチシですね。(今度はお世辞ではありません)
   漢字は、データとして全て2バイトを必要とします。
   だから、東京都は 3文字 X 2 で6文字となるんです。


孫の手69〜最新TOP  孫の手1〜68TOP