[[20100614104533]] 『VLOOKUPで表示される日付』(じょう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VLOOKUPで表示される日付』(じょう)

 データ@という表がsheet1にあります。
 その17列目には日付が入力される列があります。
     A・・・・・ Q
 1 1001
 2 1002       5/25
 3 1003       6/30
 4 1004

 sheet2にデータ@の情報を抽出する表があります。
 その表の日付を抽出したい欄に以下の式をいれました。

 =IF(V17="","",VLOOKUP($V$9,データ@,17,FALSE))
 (※V9にはデータ@のA列の番号を入力します)

 1002、1003のように、日付の入力されているを入れると
 正確にデータ@の日付が表示されます。
 1004のように何も日付が入力されていないと何も表示されません。

 でも1001には以前に日付が入力されていて、Deleteでデータを消して空欄になっているのですが
 sheet2の表の日付が抽出される欄には
 【明治33年1月0日】と出ます。

 どうして一度入力して消したところはこのような日付が出るのでしょうか?


 原因が大雑把に書いてあります。
[[20100420083749]]『件数カウントについて』(松子)
 BJ

 やっと見つけたので追加。11:24
[[20091023120856]] 『VLOOKUPの設定』(ぽこすけ初心者)


 衝突しましたがそのままで。

 例えばセルに「=A1」と入力してA1セルを空白にしてみてください。
 「0」と表示されるかと思います。

 次にそのセルの書式設定で「表示形式」を「日付」にしてみてください。
 【明治33年1月0日】と表示されます。

 つまりExcelでは空白セルを参照した場合に「0」として扱い、さらに「0」を日付として扱うと
 「明治33年1月0日」(1900/1/0)と表示するようになっているのです。

 で、対処法ですがセルの書式設定の「表示形式」で「分類」に「ユーザー定義」、「種類」に
 「ggge"年"m"月"d"日";;;」としてみてください。
 (独覚)


BJさま (独覚)さま

 早々の回答ありがとうございます。
 詳しい説明のおかげで、よく理解できました

 早速(独覚)さまに教えていただいた通りに表示形式を設定しました。
 ばっちりです♪

 空白=0なのですね。

 でもそこで疑問なのですが
 セルQ4の空白はなぜカウントされずに、日付欄は空欄のままだったのでしょうか?
 表示形式を設定した今となっては,もういい事なのですが・・・。

 (じょう)

 例えば日付の欄を他からコピーしてきたり式で「""」で空白にしているということは無いでしょうか?

 厳密に言うと空白セル(何も入力されていないセル)と空文字セル(式で「""」で空白になっていたり
 そのようなセルから値のコピーをしたセル)はExcelでは対応が異なります。
 (関数によっては同じ扱いだったりすることもあるので面倒ですが)

 例えばB1セルに「=""」と入力してそのセルをコピー、その後A1セルに形式を選択して貼り付け」で
 値の貼り付けを行います。

 見た目はA1セルになにも入力されていないように見えますが他のセルに「=A1」と入力しても
 「0」になりません。
 また、その状態でA1セルでDeleteキーを押すと「=A1」と入力したセルが「0」になります。

 つまり「""」で空白になっている場合長さ0の文字列が入っているものとして扱われるため、
 VLOOKUP関数の結果も「0」にならないで空白になります。
 (独覚)

 (独覚)さま

 回答ありがとうございます。
 よくわかりました♪

 調べたところ、データ@の日付はコピーで別表から持ってきたものでした。
 こういう事だったのですね。

 どうもありがとうございました。

 (じょう)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.