あなたの習慣について教えてください!!

ビギナー以前のイントロダクションです。宜しくお願い致します。

OS・・・Win95
EXCEL・・・Ver97

社員データベースをシート1に、個人用(一人一枚プリントアウト用)をシート2に作成しています。

VLOOKUPで大体のデータは返るのですが、
生年月日などの日付が、データベースのセルが空欄の場合、何故か
"M33.01.00"と表示してしまいます。
その他データベースの空欄のセルに対しても、"0"を表示してしまうので、これを" "と表示させたいのです。

良き関数を教えて下さい。

A 回答 (4件)

今は



 =VLOOKUP(*****)

となっていると思いますが、この算式を

 =IF(ISBLANK(VLOOKUP(*****)),"",VLOOKUP(*****))

と変えてみてください。検索結果のセルがブランクなら何も表示しません。

この回答への補足

回答、ありがとうございます。

ちょっと試してみたのですが、容量の小さい自分の頭ではどうにもできませんでした。そこで、下記に計算式を記載しますので、修正していただけますでしょうか?

=IF($A$1=””,””,VLOOKUP($A$1,データベース!範囲,4,FALSE))

シート2のA1に、シート1(データベース)A1にあるコードを入力すると、名前などを返してくれるようにしています。

宜しくお願いいたします!

補足日時:2002/03/13 23:05
    • good
    • 0

こんにちは。

EXCELビギナーです。
私の場合は以下のようにします。

IF(参照するセル="","",VLOOKUP…)と
IF関数で参照するセルが空欄なら空欄、違うならVLOOKUP関数

この回答への補足

おお、早速の回答、ありがとうございます。

今、入力している状態を
シート1(データベース) A2・・・検索コード(個人番号)
B2・・・氏名
C2・・・ふりがな
D2・・・入社年月日 などなど
シート2(個人帳票) A1・・・検索コード
M2・・・入社年月日
として、シート2のA1に検索コードを入力すると
M2のところには
=IF($A$1=””,””,VLOOKUP($A$1,データベース!範囲,4,FALSE))
と返して、「入社年月日」が表示されます。

問題は、シート1のD2のセルが空欄のときに起こります。

上記計算式を添削して下さい。宜しくお願いいたします!

補足日時:2002/03/13 22:42
    • good
    • 0

>何故か"M33.01.00"と表示してしまいます。


皆がご存知で私が言うのは恥ずかしいぐらいですが、エクセルは日付は西歴1900年1月1日をスタート第1日としてそれ以後の経過日数で統一的に全て処理しているからですよ。1900年は明治33年です。表示を年号+2桁
年+月+日にしておられるから、日付けセルの空白セルは「0」扱いになり、日付的にはM33.01.00と表示されるわけです。
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。

なるほど、良く分かりました。空白セルを「0」と認識させなければ、これは解決するのでしょう・・ね・・・?

お礼日時:2002/03/13 23:27

A1が未入力なら答えは無し($A$1="")


→検索値が無ければ答えは無し(ISERROR)
→検索値が未登録なら答えは無し(ISBLANK)
の順に判定を行っています。検索値が見つからなかった場合を追加してみました。
『範囲』という範囲名が定義されていれば下記でいいですが、範囲名でなければ『データベース!範囲』を書いて下さい。

=IF($A$1="","",IF(ISERROR(VLOOKUP($A$1,範囲,4,FALSE)),"",IF(ISBLANK(VLOOKUP($A$1,範囲,4,FALSE)),"",VLOOKUP($A$1,範囲,4,FALSE))))
    • good
    • 0
この回答へのお礼

ありがとうございました!nishi6さんをはじめ、Imogashiさん、_masaharuさんのおかげで、解決しました!
また質問させていただきますので、宜しくご指導くださいませ。

お礼日時:2002/03/14 15:35

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