[[20050712003605]] 『vlookupで、日付が数字に変わってしまう』(りん) ページの最後に飛ぶ

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

 

『vlookupで、日付が数字に変わってしまう』(りん)

シート1
 東京  7/1

     名古屋 0

シート2
 東京  38534

     名古屋 0

vlookupで、シート1の2行目を シート2へもってくると
7/1と出て欲しいのに、数字が出てきてしまう。

シート2の文字列を、日付に変えると
名古屋の"0"が1月0日と出てしまう。

解消法ありますでしょうか?


 7/1のセルで書式>セル>表示形式を「数値」に変更してみる。
数字になる。
エクセルでは1900/1/1を「1」とし、1日経過するごとに 1 増加する
連続する数値であるという決め事をしてある。
日付として数値を扱う場合、特別にシリアル値と呼ぶ。
数値を入力したセルに日付の表示形式を与えた時に、カレンダーに基いて
計算した日付形式の文字列をセルに表示するような設計になっている。
が、セルに入力されているのはあくまで数値なので、関数で参照した時には
本来の中身である数値が表示される時がある。
解決策としては参照する数式を入力したセルの表示形式を日付形式に変更することである。
 
>名古屋の"0"が1月0日と出てしまう。
空白セルを参照すると数値的には「0」である。
これは先にも述べたように、日付は1900/1/1を1として管理しているので、
0は1900/1/0というありえない日付として表示してしまう。
動作的には正しいが、そのような日付はうっとうしいので、
関数的に非表示にするか、表示形式的に非表示にするか、
ウィンドウ設定を変更するか、いづれかの処理をする。
 
もともとのVLOOKUP関数が=VLOOKUP(A1,Sheet1!$A$1:$B$2,2,false)である場合には
=IF(VLOOKUP(A1,Sheet1!$A$1:$B$2,2,false),VLOOKUP(A1,Sheet1!$A$1:$B$2,2,false),"")
 
セルの表示形式の場合はユーザー定義とし、
m/d;;;
と設定する。
 
ウィンドウ設定でやる場合はツール>オプション>表示でウィンドウオプションの
「ゼロ値」のチェックをはずす。
いずれを選択するかは、[りん]さんにお任せする。
(みやほりん)


ありがとうございました
(りん)

コメント返信:

[ 一覧(最新更新順) ]


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