- ベストアンサー
EXCELでの日付付与
EXCELでたとえば、一つの様式に毎日とある物品を授受する為の様式を作りました。 それは一ヶ月で一枚を使うようになっています。 その様式の欄にその付毎の日付を一ヶ月分入れるようにしたいのです。 別なセルにてプルダウンにて1月などと選択するようになっていて、それも閏年に対応したいのですが。 A1に1日を入力しA2に=A1+1とすれば次の日の日付が表示されますが、これですと月をまたいで表示される日もあるということになります。要は1月31日の次の日である2月1日が表示されることもあるはずです。 そうではなく1月分だけが欲しいときは1月31日以降は表示されないようにしたいのです。 うまく説明出来なく申し訳ありませんがご回答いただければ幸いです。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 A1に月を文字列で選択として、A2以下にその一ヶ月分の日を表示します。 A2に次の数式を設定、A32までコピー =IF(DAY(DATE(YEAR(TODAY()),SUBSTITUTE($A$1,"月","")+1,0))>=ROW(A1),DATE(YEAR(TODAY()),SUBSTITUTE($A$1,"月",""),ROW(A1)),"") 尚、A2:A32セルの表示形式は、任意に設定して下さい。
その他の回答 (6)
- hallo-2007
- ベストアンサー率41% (888/2115)
>A1に1日を入力しA2に=A1+1とすれば次の日の日付が表示されますが A2に =A$1+ROW(A1) にかえて試してみます。 月が替わると空白にする為に =IF(MONTH(A$1)=MONTH(A$1+ROW(A1)),A$1+ROW(A1),"") といれて下までコピィしては如何でしょうか。
- imogasi
- ベストアンサー率27% (4737/17069)
A1 月数字 A2 =DATE(2008,A1,1) A3 =A2+1 28日までは式を複写 29日は =IF(DATE(2008,$A$1,ROW()-1)>DATE(2008,$A$1+1,0),"",DATE(2008,$A$1,ROW()-1)) 30,31日のセルは上記式を複写。 (ROW()を使う代わりにセル番地でやるとうまく行かない) 年まで相対化したいなら、2008など入れるセルを作り、2008の換わりにセル番地で置き換えると良い。 ーーー 31日まで同じ式を複写し、月末を超えると、条件付き書式で、文字色を白色にするのがよいと思うが。 ーーーー それ以上はVBAを使って、1-月末日までの日付をセットするプログラムを作ることになろう。
- gyouda1114
- ベストアンサー率37% (499/1320)
A1には、2月の場合「2月1日」と入力 A2にA1+1以降A28までオートフィル A29に =IF(MONTH($A$28+1)>MONTH($A$1),"",$A$28+1) A30に =IF(MONTH($A$28+2)>MONTH($A$1),"",$A$28+2) A31 =IF(MONTH($A$28+3)>MONTH($A$1),"",$A$28+3)
- gyouda1114
- ベストアンサー率37% (499/1320)
A2以降(2月を想定し、29日以降でもよい)に条件付き書式を設定したらいかがですか =MONTH($A2)>MONTH($A$1) フォントの色を白
1.[シート見出し]を 2008年1月、2008年2月、2008年3月、…、2008年12月 としたワークシートを名前を付けて保存 2008年1月 のシートにおいて、 2.範囲 A1:A31 を選択して、“ユーザー定義”で d に書式設定 3.セル A1 に次式を入力 =(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,9)&"1日")+0 4.セル A2 に式 =A1+1 を入力して、此れを下方にセル A31 までズズ ーッとドラッグ&ペースト 5.範囲 A1:A31 を[コピー] 6.他の全シート(2008年2月、2008年3月、…、2008年12月)のセル A1 にペースト
- Gizensha
- ベストアンサー率34% (207/608)
28日までは =A1+1 で、それ以降はこんな感じで。 =IF(DAY(A1+1)<DAY(A1),"",A1+1)