OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

VLOOKUPで返った値が不満足

  • すぐに回答を!
  • 質問No.234648
  • 閲覧数866
  • ありがとう数3
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 50% (2/4)

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

OS・・・Win95
EXCEL・・・Ver97

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

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

良き関数を教えて下さい。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4
レベル13

ベストアンサー率 68% (791/1163)

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))))
お礼コメント
onekosama

お礼率 50% (2/4)

ありがとうございました!nishi6さんをはじめ、Imogashiさん、_masaharuさんのおかげで、解決しました!
また質問させていただきますので、宜しくご指導くださいませ。
投稿日時 - 2002-03-14 15:35:13
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

今は  =VLOOKUP(*****) となっていると思いますが、この算式を  =IF(ISBLANK(VLOOKUP(*****)),"",VLOOKUP(*****)) と変えてみてください。検索結果のセルがブランクなら何も表示しません。 ...続きを読む
今は

 =VLOOKUP(*****)

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

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

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

お礼率 50% (2/4)

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

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

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

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

宜しくお願いいたします!
投稿日時 - 2002-03-13 23:05:37

  • 回答No.2
レベル6

ベストアンサー率 20% (4/20)

こんにちは。EXCELビギナーです。 私の場合は以下のようにします。 IF(参照するセル="","",VLOOKUP…)と IF関数で参照するセルが空欄なら空欄、違うならVLOOKUP関数 ...続きを読む
こんにちは。EXCELビギナーです。
私の場合は以下のようにします。

IF(参照するセル="","",VLOOKUP…)と
IF関数で参照するセルが空欄なら空欄、違うならVLOOKUP関数
補足コメント
onekosama

お礼率 50% (2/4)

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

今、入力している状態を
シート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:05
  • 回答No.3
レベル14

ベストアンサー率 28% (4322/15242)

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

お礼率 50% (2/4)

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

なるほど、良く分かりました。空白セルを「0」と認識させなければ、これは解決するのでしょう・・ね・・・?
投稿日時 - 2002-03-13 23:27:11
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ