こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで「負の日付または時間は####と…

エクセルで「負の日付または時間は########と表示されます」
これを非表示にしたいのですが、どうしたらよいのでしょうか?

今、やっている内容を伝えますと↓

一つのエクセルの中に複数のシートを作成しております。
例えば、Aのシートに”年月日”を入力し、
Bのシートへリンクさせ、かつ、一日前の日付にしたいので、
よくある、最後尾に「-1」としました。

そうしたら、Aシートに日付の入力があるときは普通にマイナス1日の表示をしてくれるのですが、
Aシートが空欄の時「#######」と表示されてしまいます。

「###…」を非表示にすることはできないのでしょうか?

できるだけ簡単にご説明いただけますと嬉しいです。
宜しくお願い致します。

投稿日時 - 2014-03-10 18:02:59

QNo.8508109

暇なときに回答ください

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

>「###…」を非表示にする

表示だけで済ませたいなら、今の数式のまま
=SheetA!A1-1
のようにしておいた状態で、セルの書式設定の表示形式のユーザー定義で
yyyy/mm/dd;;;
のように、前半の日付の書式は今のご希望の書式のまま、後ろに継ぎ足してやればOKです。


#参考
通常の(ただしウィンドウズ版エクセル限定)設定では、マイナスの日付・時刻は必ず###表示になります。列幅は関係ありません。
一応可能という意味ではエクセルのオプションで「1904年で計算する」の設定をしておくと、###表示ではなくなります。
ただし今度は言わずもがなですがシートAに値が入ってないと、「-1」という計算結果(に相当する日付)が###の代わりに表示されることになります。


別の方法:
一般的には
=IF(SheetA!A1="","",Sheet1!A1-1)
ぐらいで「Aシートが空っぽならそもそも違う計算をする」数式にしておく所です。
ただし、そもそもじゃぁそーいう時に具体的にどんな具合に計算をしたらいいのかは、その計算式の結果を更に次に何に使うのかによって工夫します。
=MAX(0,SheetA!A1-1)
みたいな計算の仕方もあるかもしれません。

そも昨日の日付がただ表示できればよい、別にそれを使って何か計算するでもなく、不都合があった時に###が出ないだけで十分なら、前述したように表示を消すだけで十分という事です。

投稿日時 - 2014-03-10 19:16:40

お礼

別の方法というものでやってみたら出来ました☆
すっきりして感謝しております。
みなさんの知識にすごいなぁと思いました。
ご回答いただきありがとうございました!

投稿日時 - 2014-03-11 21:02:33

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

こんばんは!
具体的な対処方法はNo.2さんが丁寧に説明してくださっていますので、
余計なお世話かもしれませんが・・・

苦肉の策として条件付き書式でマイナスの場合のフォント色を「白」にしてみてはどうでしょうか?

範囲指定 → 条件付き書式 → セルの強調表示ルール → 指定の値より小さい → 
「0」を入力 → 書式右側下向き▼ → ユーザー設定の書式 → フォント色を「白」にしてOK

データとしては#####が表示されますが、見た目は何も入っていないように見えます。m(_ _)m

投稿日時 - 2014-03-10 22:09:03

お礼

言われるとなるほど!と思いながら、少し面白くて笑ってしまいました(^^)tom04さんの回答もよかったです。ご回答いただきありがとうございました。

投稿日時 - 2014-03-11 20:58:51

ANo.1

=IF(Aシートの日付入力セル="","",Aシートの日付入力セル-1)

という式を、Bシートの、結果を表示させたいセルに入力します。


参考:
>負の日付または時間は#######と表示されます…

そうではありません。セルの幅が狭くて内容を全部表示できない、という印です。幅を拡げてやればきちんと表示されます。

投稿日時 - 2014-03-10 18:54:39

お礼

ご回答いただき有難うございます。

投稿日時 - 2014-03-11 20:59:39

あなたにオススメの質問