プロが教えるわが家の防犯対策術!

Excelで予定表を作成し、月毎に1~31日までの表示欄を作り、基準日から割当て自動で日付が入るようになっています。
例えば2月の場合で2/28を越して3/1、3/2、3/3が余白に表示されないようにする方法はありますか?

自分で考えた案としては、余白となる可能性がある29~31までの3日間だけについて、
なんらかの条件付き書式を設定してフォントを変えて非表示に見せれば良いのではないかと考えました。
が、都合の良い条件が思い付かず・・・。

アドバイスを頂けますと幸いです。
宜しくお願い致します。

▼こちらに画像をアップしました。
http://uploda.cc/img/img51d5c7b569ff0.jpg

A 回答 (4件)

No.2 さんの 3 本目の数式などでオッケー。

ベストアンサーは辞退します。

その他のセルには、次式を入力することをお勧めできます。

A1 2013/1/1             ……固定
  あるいは
  =date(year(today()),1,1)     ……年が変わってもカレンダーが自動的に追従
B1 =a1               ……入力直後は、曜日ではなく日付が表示されるかも(下の説明を参照)
F1 =date(year(a1),month(a1)+1,1)  …… 1/1 以外の 11 か月の初日を自動的に表示

曜日の列には、セルの書式設定から、書式記号「aaa」を入力。日付が曜日に変化します。「""」が表示されているセルは文字列であり、そのセルではこの書式記号が無視されるので、問題ありません。

上式では DATE 関数で 1 か月後を求めていますが、前月が 2013 年 12 月という場合でも、その翌月 2013 年 13 月は 2014 年 1 月だと計算してくれるので、問題ありません。
「Excelでの予定表作成で月をまたぐ場合」の回答画像4
    • good
    • 0
この回答へのお礼

解決しました!ありがとうございました!
ベストアンサー以外の回答も今後の参考にさせて頂きます!

お礼日時:2013/07/07 13:31

こんにちは!


すでに適切な回答は出ていますので、参考程度で・・・

↓の画像のように各月は4列使用・各月の間には必ず1列空白列がある場合の一例です。
一度数式を入れると今後一切手を付けなくても良いようにしてみました。
数式としてはくどくなりますが・・・

A1セルに
=IF(MONTH(DATE(YEAR(TODAY()),COLUMN(E1)/5,ROW(A1)))=COLUMN(E1)/5,DATE(YEAR(TODAY()),COLUMN(E1)/5,ROW(A1)),"")
という数式を入れ → セルの表示形式は 「日付」に!

B1セルに
=IF(A1="","",TEXT(A1,"aaa"))
という数式を入れA1・B1セルを範囲指定 → B1セルのフィルハンドルで下へコピー!

次にA1・B1セルを選択 → 右クリック → コピー → F1セルを選択 → 右クリック → 貼り付け
K1セルを選択 → 右クリック → 貼り付け・・・
これで各月の1日が表示されます。
この操作を12月の列まで行い行方向にオートフィルでコピー!

これで何とかご希望の表示にならないでしょうか?

※ 各列にそれぞれ数式を入れなくてもよいように、数式により列合わせしていますので、
列の配置が異なる場合は当然数式も変わってきます。m(_ _)m
「Excelでの予定表作成で月をまたぐ場合」の回答画像3
    • good
    • 0
この回答へのお礼

解決しました!ありがとうございました!
ベストアンサー以外の回答も今後の参考にさせて頂きます!

お礼日時:2013/07/07 13:31

(A2セルの場合)


上のセル(A1)の+1日をA2に表示するとして
 =A1+1

これだけだと、月が変わっても出てしまうので
A1セルの「月」とA1セル+1日の「月」を比較して
 =IF(MONTH(A1)=MONTH(A1+1),A1+1,"")

これでもまだうまくいかない。
何故なら、たとえば2月の列の3月1日は空白になるが、その次の行がエラーになる
そこで、上のセルが空白のときの処理を加える
 =IF(A1="","",IF(MONTH(A1)=MONTH(A1+1),A1+1,""))
これをA2に記入して下にコピーすれば行ける
「余白となる可能性がある29~31までの3日間だけ」をこの数式(参照元は1日前のセル)にしてもOK
    • good
    • 2
この回答へのお礼

おかげ様で解決しました!ありがとうございました!
シンプルでとても良いですね。

お礼日時:2013/07/07 13:30

> 条件付き書式を設定してフォントを変えて非表示に見せれば良いのではないか



合っているともいえますし、間違っているともいえる発想ですね。


とりあえず、1/1がA1セルに入っているとして、
A1から範囲を指定して、条件付き書式
  式が:=MONTH(A1)<>MONTH(A$1)
  書式:任意(文字色=背景色 にするとパッと見では見えなくなりますよ。)
としてやれば、同じ列で月が変わった日の書式が変わります。

ただ、気になるのが一つ。
(珍しく)リンク先の図も確認させていただきましたが、
どうやら月曜以外は塗りつぶしをかけているようで(逆かな)。
こうなると若干厄介です。
条件付き書式で曜日ごとに塗り潰しているなら、それも考慮しないといけませんね。
AND関数を駆使してやりましょう。

でも、月が変わった分は「塗りつぶし無し、文字色白」としてやれば解決かな、とも思います。



日付をどうやって入力しているのか?にもよります。
日付を直接入力しているのであれば条件付き書式に頼らないと厳しいです。

式でこれを出してみるのも面白いです。
例えば1/1を入れたいセル(どこでも良いですよ)に
  式:=IF(MONTH(DATE(2013,COLUMN(A1),ROW(A1)))<>COLUMN(A1),"",DATE(2013,COLUMN(A1),ROW(A1)))
    ※どこのセルに入力するとしても、1/1についてはA1を指定します。
で、これを縦横にフィル(コピー)してやります。
すると、あら不思議・・と出来上がります。
使っている関数は、IF、MONTH、DATE、COLUMN、ROWの5種類です。
ちょっとややこしいですが、読み解いてくださいね(笑)。


以上、参考まで。
    • good
    • 1
この回答へのお礼

解決しました!ありがとうございました!
ベストアンサー以外の回答も今後の参考にさせて頂きます!

お礼日時:2013/07/07 13:29

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

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


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