重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Excel2002で、住所録から封筒を印刷するファイルを作りました。
住所録シートの7桁の郵便番号セルから一文字ずつ取出して
印刷シートの各セルに収めるよう下記の関数を入れています。

=MID(VALUE(VLOOKUP("●",住所録データ範囲,5,TRUE)),1,1)

通常は問題無いのですが、「0」から始まる郵便番号の時は
MID関数が「0」を1文字目と認識してくれず、2文字目が
1番先頭のセルに入ってしまいます。
(住所録シートに入っている郵便番号は「'」で文字列認識させています)

何か良い解決方法はありますでしょうか?
宜しくお願い致します。

A 回答 (2件)

MID関数が「0」を1文字目と認識してくれないなんてことはないはずです。


そうでなくてVALUEで数値化したから先頭の0が消えただけなのでは?
それから"●"は具体的には何かな?それがわからないからVLOOKUPでなんで引数にTRUEを指定しているのかわかりません。
    • good
    • 0
この回答へのお礼

VALUEを外したらうまくいきました!
稚拙なマクロで、住所録シートで印刷したい住所行のA列をダブルクリックすると「●」が入り
それが印刷シートに反映される仕組みにしています。
検索の型は、どこかで「省略すればTRUEになる」と聞いたことがあったので
特に深く考えずに入れていました。
文字列や完全一致の場合は「FALSE」にすべきなんですね。勉強不足ですみません。
もっと良いやり方があるかもしれませんが、なにぶんこんな調子で
手探り状態でやっているもので…。
助かりました。有難うございました。

お礼日時:2009/04/16 14:55

VALUEをやめればいいだけです。


あと、VLOOKUPの数にTRUEを指定していますが、
何か特別の意味があります?
FALSEではだめ?
    • good
    • 0
この回答へのお礼

VALUEを外したらうまくいきました!
検索の型は、どこかで「省略すればTRUEになる」と聞いたことがあったので
特に深く考えずに入れていました。
文字列や完全一致の場合は「FALSE」にすべきなんですね。勉強不足ですみません。
もっと良いやり方があるかもしれませんが、なにぶんこんな調子で
手探り状態でやっているもので…。
助かりました。有難うございました。

お礼日時:2009/04/16 14:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!