プロが教える店舗&オフィスのセキュリティ対策術

EXCELを使って住所録を作っています。
名前や住所などのデータを入力し、別シートでVLOOKUP関数でデータを抽出するのですが、セルがブランクの時に0を表示してしまいます。解決方法を教えてください。

A 回答 (5件)

A1が検索する元値として


 =IF(A1="","",VLOOKUP(A1,範囲,0))
で結果も空白になります
    • good
    • 0
この回答へのお礼

早々と回答いただきありがとうございました。
しかしこの方法ではエラーしか出てきませんでした。もう少し勉強してみます。

お礼日時:2007/08/03 18:12

関数を入力したセルにセルの書式設定で、ユーザー定義


0;0; と入力してOKです。

但し、エラー回避は出来ませんよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
この方法だと確かに0は消えましたが、0を表示したいときにも消えてしまうので、別の方法を模索してみます。

お礼日時:2007/08/03 18:13

(1)元になるセル(VLOOKUP関数の第1引数で指定するセル)か空白ならば


とIF文を入れると良い。
=IF(A1="","",VLOOKUP(・・))
(2)他に該当なしを予想するケースなら
=IF(ISERROR(VLOOKUP(・・)),"",VLOOKUP(・・))
と防いだりする。
前記(1)もVLOOKUPの結果を問題にして、IF文で空白を返す手もある
ーー
まとめると
(1)引数で、手を打つ
(2)VLOOKUP()の結果によって手を打つ
の2つの方法がある。
手を打つとはエラーとか意に満たない結果を、通常は空白にするということ。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
まだまだ知らない関数があり、四苦八苦しています。
この方法を参考にもっと勉強してみます。

お礼日時:2007/08/03 21:59

#01です


>しかしこの方法ではエラーしか出てきませんでした
すこし説明が足りなかったようですね

=IF(A1="","",関数式)
この関数式(VLOOKUPなど)の部分はご自身で正しいものを書かないとなりませんよ。おそらく#01の式をそのまま貼り付けてしまったのではないかと思いますが、それではエラーになって当然です。(^^;

この式は「もしA1が空白なら式の結果を空白とし、そうでないなら関数式の結果を表示する」という意味になります。
    • good
    • 0
この回答へのお礼

いえいえ、その程度の知識はあるのですが、データには住所・名前・電話番号・メルアド・生年月日などがあります。
それに家族単位での住所録なので、一人もいれば5人家族もいるわけです。
例えば1人のみの登録の時に2人目以降のデータはブランクになりますが、VLOOKUP関数で導き出すと0を表示してしまいます。
その0を表示させずブランクのままにしたかったのです。
私の質問の仕方が悪かったのですね。失礼致しました。

お礼日時:2007/08/03 19:14

#01です。

失礼しました

それであれば、やや冗長になりますが
 =IF(関数式=0,"",関数式)
でよいのではないでしょうか。

関数式がエラーになる場合を想定して
 =IF(OR(ISERROR(関数式),関数式=0),"",関数式)
のほうが良いかもしれません
    • good
    • 0
この回答へのお礼

何度もありがとうございます。
かなり長い式になりますね。
参考になりました。
もっと勉強します。

お礼日時:2007/08/03 21:58

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