- ベストアンサー
エクセルの関数について
エクセルで月間予定表を作っています。(縦に1日から末日までを表示) 年と月を入力すると、日付、曜日が自動的に表示されるようにしたいと思い、日付のところは、1日に、DATE関数を使用し、2日は、1日のセル+1とし、3日以降は、2日の書式をコピーしています。 そうすると2004年2月の場合、29日までなので、30,31日のところが、それぞれ1,2と表示されてしまいます。 1,2と表示される時には、セルを空白にしたいのですが、どんな関数を使ったらいいでしょうか? うまく説明できなくて申し訳ありませんが、どうぞよろしくお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
最大空白にしたいセルは2月28日までしかなかった場合、つまり29日以降だと思うので、29日以降に次の式を入れて下さい。 なお、A1のセルに1日が入ったとしています。 =IF(A28="","",IF(DAY(A28+1)<=3,"",A28+1)) ここのA28は28日が入ったセルのことです。 3日以下が表示された場合は空白にするという関数です。 ただ、全てに適用すると必要な1日、2日なども空白になるので、29日以降のみのセルに入力して下さい。
その他の回答 (5)
- mshr1962
- ベストアンサー率39% (7417/18945)
方法は2つ 1日のセルと、該当する日付のセルの月を比較して違う時の設定を作るのですが A1が1日のセルとしてA2からA31に 数式の場合 =IF(MONTH($A$1)=MONTH($A2),"",$A1+1) 条件付書式(「書式」「条件付書式」で) 「数式が」「=MONTH($A$1)=MONTH($A2)」にして 文字色を背景色と同じ色にする。
お礼
どうもありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
A1に2004/2/1とか、月の第1日(月初め1日)が/を使った区切りのこの形式(日付シリアル値)で入っているとして、 A2に=IF(A1>=(EOMONTH($A$1,0)),"",A1+1) といれ、(必ずどの月でも)31日分まで(30行だけ)下方向に複写します。 A1の月を変えると月末の翌日以降該当セルは空白になります。 なおEOMONTH関数はアドイン関数です。 例えばhttp://www.koara.jp/pc/excel/6.htmlの終りの方参照。
お礼
どうもありがとうございました。
- snoopy64
- ベストアンサー率42% (337/793)
31日までのレイアウトが決まっていて動かせないからこそ、小の月の場合は空白にしたいのですよね?! A1に年、A2に月を入力すると、A3からA33に日付が表示される例です。 A1に「2004」 A2に「2」 A3に「=DATE(A$1,A$2,1)」 A4に「=IF(A3="","",IF(MONTH(A3+1)=MONTH(A$3),(A3+1),""))」 と入力し、A4をA33までドラッグしてください。 頑張ってください(^o^)丿
お礼
どうもありがとうございました。
- Fuu1962
- ベストアンサー率29% (426/1425)
質問の意味がわからなくて申し訳ないのですが、 1日のところに「2004/5/1」とか入力して、 それを31日になるまでドラックして、 書式は「yyyy"年"m"月"d"日 "(aaa)」くらいにすればどうですか? (これは日付で西暦を選んでから、ユーザー定義で(aaa)を追加しました。) 質問者さんの疑問については、必要なところでドラッグを止めることで解決しています(^_-)。 参考URLはさらにどうしてもとなりのセルに曜日を表示したいというものです。
お礼
どうもありがとうございました。
- arukamun
- ベストアンサー率35% (842/2394)
28日のセルがA28だった時、29日に以下の内容をコピーペーストしてください。 =IF(A28<>"",IF(MONTH(A28)=MONTH(A28+1),A28+1,""),"") 29日のセルをコピーして、30日、31日のセルにペーストします。
お礼
どうもありがとうございました。
お礼
どうもありがとうございました。