- ベストアンサー
Excelで日付を文字列ではなく日付として表示させる方法とは?
- Excelで日付(〇〇〇〇/〇〇/〇〇の形式)を文字列ではなく日付として表示させる方法について教えてください。
- Excelで数式を使用して隣のシートから日付を表示させようとしていますが、文字列として表示されてしまいます。日付を正しく表示する方法を教えてください。
- また、同じセルでも日付ではなく単語が表示される場合があります。同じ単語が表示されるようにする方法も教えてください。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
1900/1/0を出なくするには セルの書式設定、ユーザー定義「YYYY/MM/DD;;」にします。 後ろに「;;」を付けて下さい。 前の怪盗にも書いておいたのですが。
その他の回答 (9)
- chayamati
- ベストアンサー率41% (260/624)
シリアル値の補足です ・実数の内整数部分は日付、小数部分は時、分、秒です。 60秒間=1分間、60分間=1時間、24時間=1日間 1年間=12カ月間、 1カ月間=28,29,30,31日間とバラバラですが 表示書式を日付とするだけで月のかわりめを判断して表示されます。 ・実体は実数なので、 今日-誕生日で表示形式を数値とすれば 誕生日から今日までの日数になります。 ・週は大の月、小の月、閏年とは関係なく7日の繰り返しです。 曜日も計算出来ますが、ユーザ表示書式で yyyy/mm/dd(aaa):西暦、ge/mm/dd(aaa):和暦表示、aaa:曜日だけ 詳しくは日付けの表示書式で検索して下さい。
- mdmp2
- ベストアンサー率55% (438/787)
NO.4 です。 空白は、ゼロとみなされ、ゼロは表示形式が日時の場合は、1900/1/0 と表示されます。 &"" をつけずに空白のとき、何も表示させないようにするには、2つの方法があると思います。 ■IF文をもうひとつ入れ子にして、VLOOKUP がエラーにならない場合で、持ってきた値がゼロの場合と、ゼロ以外の場合に分ける IF(ISERROR(VLOOKUP(G10,Aシート!$B$2:$F$30,5,FALSE)),"",VLOOKUP(G10,Aシート!$B$2:$F$30,5,FALSE)&"") ↓ IF(ISERROR(VLOOKUP(G10,Aシート!$B$2:$F$30,5,FALSE)),"",IF(VLOOKUPがゼロの場合,"",VLOOKUPがゼロでない場合はその値))) ■表示するセルに条件付き書式を設定し、値がゼロのとき、フォントの色を白にする。 条件付き書式を設定しようとすると、「次の値と等しいセルを書式設定」にあらかじめ 1900/1/0 が表示されていると思いますが、そのままでは機能しません。 1900/1/0 は 数値では 0 「ゼロ」を意味しますので、 0 「ゼロ」に書き換えます。
- chayamati
- ベストアンサー率41% (260/624)
>空欄として表示することは可能なのでしょうか。 出来ません。 >ご質問の「隣のシートから日付(〇〇〇〇/〇〇/〇〇の形式)」 の段階で処理します処理します。 隣のシートから日付をSheet1のA1とすると =IF(Sheet1!A1="","",Sheet1!A1) 前回表示形式が日付のときは1900/1/1からの経過日数 これをシリアル値と呼ぶと記述しましたが シリアル値とは一連の「時」の流れ(経過時間)の事で、 私の記憶では「正の実数」と記憶していますが ネット検索ではヒットしません。 一方、Excelでは空白を0として取り扱うようです 従って空白は1900/1/0と表示されます
- SI299792
- ベストアンサー率47% (772/1616)
&"" が原因です。0を出さないようにするためでしょうが、これを付けると文字列になってしまい、セルの書式設定ができません。これは外します。 0を出なくするのは、セルの書式設定、で行います。 セルの書式設定、ユーザー定義「YYYY/MM/DD;;」 これで0は出なくなります。 なお、今のExcel なら =IFERROR(VLOOKUP(G10,Aシート!$B$2:$F$30,5,FALSE),"") にしてもいいです。 https://prau-pc.jp/excel/zero-not-display/ http://www.excel-list.com/iferror.html
補足
ご説明頂きありがとうございます。やはり&""が原因なのですね。 確かに&""を外してみたら、日付として表示されました。 しかし、日付の欄が空欄の時には、代わりに1900/1/0と表示されてしまったのですが、 この場合、空欄として表示することは可能なのでしょうか。 (=IFERROR(VLOOKUP(G10,Aシート!$B$2:$F$30,5,FALSE),"")←この式に作りかえても同様です)
- chayamati
- ベストアンサー率41% (260/624)
- mdmp2
- ベストアンサー率55% (438/787)
・・・・・VLOOKUP(G10,Aシート!&B$2:$F$30,5,FALSE)&"") の&"" で何を表示させるのですか? & は文字列を結合する演算子なので、& 以前は数字ですが、文字列として扱われ、表示形式を「日付」にしても日付になりません。&"" が重要でいないなら、消してください。 他の回答者が指摘していますが、&B$2 は$B$2 のうつし間違えですね?実際にそうなっていたら、エラーになると思います。
補足
ご回答ありがとうございます。 大変失礼致しました。&B$2 は$B$2の間違いになります。 &""を消してしまうと、日付が空欄だった時に1900/1/0と値が入ってしまう為、 日付が空欄の時は空欄で表示されるようにしたく、式に&””を入力しておりました。
- imogasi
- ベストアンサー率27% (4737/17069)
>VLOOKUP(G10,Aシート!&B$2:$F$30,5,FALSE)&"") の &"”を除いたらどうですか。 >日付を文字列ではなく、日付として表示させたいです という質問がピント外れ化も。実際の例を挙げてみてください。 G,AシートのB-F列のデータを。ほんとにAシートのF列は文字列ですか? セルの値が、日付として認められる文字列なら、DATEVALUEで日付シリアル化できる。 例 A1、A2セル '令和2年5月5日 43956 <ーー式 =DATEVALUE(A1) 2020/5/2 43953 2020/5/2 は表示形式を文字列設定
- f272
- ベストアンサー率46% (8467/18126)
街灯セルを選択して,表示形式を「日付」にして,F2キーを押してEnterキーを押す。
- asuncion
- ベストアンサー率33% (2127/6289)
>IF(ISERROR(VLOOKUP(G10,Aシート!$B$2:$F$30,5,FALSE)),"",VLOOKUP(G10,Aシート!&B$2:$F$30,5,FALSE)&"") 関数は間違いなくこのとおりに入力していますか?だとすると、 2つ目のVLOOKUPの引数で「&B$2」は、もしかして「$B$2」が 正しいのではありませんか?
補足
ご指摘ありがとうございます。 記載間違いで、正しくは「$B$2」になります。実際は「$B$2」で入力しておりましたが、 日付が日付として表示されない状況です。
お礼
ユーザー定義の設定を失念しておりました>< ご説明どおりに設定したところ、上手くいきました!! 大変助かりました^^ ありがとうございました。