「ブロック機能」のリニューアルについて

エクセル2007です。

A1に、2013/12/1と入れて表示形式 m"月"d"日" で12月1日と表示されています。
B1に、=A1とリンクしてこれが40行ほどコピーされています。
B列も同じく表示形式を m"月"d"日" にすると、
A列に空白がある時対応するB列セルには「1月0日」と表示されてしまいます。

A列の日付が入らない場合はB列も空白にしたいのですがいい表示形式はありますか?

他の日付以外のセルは形式を #,##0;[赤] -#,##0; として空白の列=リンク先も空白列を実現できています。
B列の日付のセルをこの形式にするとA列リンク元が空白の時はいいのですが、
日付を入れるとシリアルNo.らしき数字が表示されて、日付ではなくなってしまいます。

教えて!goo グレード

A 回答 (7件)

表示形式を


m月d日;;;
とします。
    • good
    • 32
この回答へのお礼

なんと!
あっさり解決しました。

お答えいただきありがとうございました。

お礼日時:2014/01/05 23:31

No.5 さんのご回答「m月d日;;;」で、できます。

「;」を 1 つ減らし、「m月d日;;」としても差し支えありません。ベストアンサーは辞退します。

セルの値が文字列である場合に、上の 2 つの書式のうち前者はセルの値を非表示に、後者は表示にするものです。日付のシリアル値は数値であり文字列ではないので、値が日付か空白のみであれば、どちらの記号でも同じです。ユーザー定義書式の構文については、例えば参考 URL などを読んでください。

質問者さんが示されている「=A1」という数式は、とても簡単かつ応用範囲が広く、お勧めできる良い方法です。

「=text(a1,"m月d日;;")」という数式とか IF 関数による方法だと、計算結果に文字列が混じります。そのため例えば、C 列でまともに「=b1+1」などと計算しようとしても、空白(のような見かけである空文字列)の行については、エラーになってしまいます。その場合は、再び、「=if(b1="","",b1+1)」といった感じに場合分けする必要があります。

数式「=A1」と冒頭の書式記号を併用した場合は、もちろん文字列ではなく数値のままになっています。どのような書式を設定しようとも、値そのものには影響を与えないからです。したがって空白の行も含めて、「=b1+1」といった計算をしてもエラーになりません。

参考URL:http://allabout.co.jp/gm/gc/297811/
    • good
    • 0
この回答へのお礼

詳しくありがとうございました。

思うように表示できましたし、とても勉強になりました。

お礼日時:2014/01/05 23:15

B1に、


 =IF(A1="","",A1)
これ一択です。


通常は書式設定ではなく、数式でそもそも表示されるかどうかを変えます。

書式設定でやるのなら「条件付き書式」を使ってA列の値から分岐できるようにします。

B1セルで無理やり書式設定でやるのなら
 [白][=0]#;m"月"d"日"
はいかがでしょうか。
    • good
    • 2
この回答へのお礼

お答えありがとうございます。
周りのセルの関係から、単純に実現したくて関数は考えていませんでした。

今回、表示形式で解決の運びとなりました。

お礼日時:2014/01/05 23:21

=IF(A1="","",A1)と入力してIF式を使うのがいいでしょう。



あとは連続コピーすれば問題ないですよ。
    • good
    • 2
この回答へのお礼

お答えありがとうございます。
周りのセルの関係から、単純に実現したくて関数は考えていませんでした。

今回、表示形式で解決の運びとなりました。

お礼日時:2014/01/05 23:20

IF関数を使わず、表示形式で表示を替えるのですね


特定の書式の場合のみ背景色を白とする方法で見た目は希望どおりになります。

●Excel のセルの表示形式で [ユーザー定義] に使用できる書式記号について
http://support.microsoft.com/kb/883199/ja
    • good
    • 0
この回答へのお礼

いろいろ方法があるとわかりました。

今回、表示形式で解決できました。お答えありがとうございました。

お礼日時:2014/01/05 23:24

=if(A1="","",A1)


で良いかと。
    • good
    • 0
この回答へのお礼

お答えありがとうございます。
周りのセルの関係から、単純に実現したくて関数は考えていませんでした。

今回、表示形式で解決の運びとなりました。

お礼日時:2014/01/05 23:20

IF関数を使い空白なら空白を表示するという方法はどうでしょうか

    • good
    • 0
この回答へのお礼

お答えありがとうございます。
周りのセルの関係から、単純に実現したくて関数は考えていませんでした。

今回、表示形式で解決の運びとなりました。

お礼日時:2014/01/05 23:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング