- ベストアンサー
日付開始を1ヶ月前からの表示にする数式
- 数式を使用して、日付の表示を1ヶ月前からにする方法について質問しています。
- 質問者は、回答を試してみたがうまくいかなかったと述べています。
- 特に、6月分の表示を5月16日以降からにする方法が知りたいようです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
なんでそんな「長くてややこしい式」を使おうとするかな。 そういう式は確かに「一発で処理可能」でカッコイイけど 後でメンテしようとすると、質問者さんのように、「どこを いじればいいのか」判らなくなります。見栄えが悪くても 計算過程を別のセルに毎回書き出した方が正解、書き だしたセルは、列ごと「非表示」にすれば済む話です。 ということで、まず基本的な発想。 要は「29-31日は日付としての存在の有無に関係なく、 行として有効にする必要がある」「行が有効でも、そこに 日付や曜日が出て来ちゃ困る」って話ですよね。 だったら、16-31/1-15の「日付」を固定してしまえば済む ってことです。 例えば、使ってないG列に16,17・・・31,1,2・・・15と書いて しまい、H列にこんな風に日付を表示させてみてください。 =DATE($A$1,$A$2-1,H4) これを15日(H34)までコピーすると、30,31日の所だけ 2012/3/1、2012/3/2と、翌月の表示になってることが 分かると思います。 ですので、I列にこんな風にして、当月か翌月か表示させ れば良いわけです。 =IF(MONTH(H4)=$A$2-1,"今月","翌月") で、こいつをチェックして、A列は「翌月になってれば空白」 にすればいいだけです。 =IF(I4="今月",DATE($A$1,$A$2-1,H4),"") コピーしてもいいのですが、1日の所から「$A$2-1」を 「$A$2」にしておくのを忘れないように。 で、曜日ですが、単純にA列を参して表示形式を変えれば いいだけです。空白セルなら表示形式を「aaa」にしても 何も表示されませんからね。 ということで、やってみた結果がこれです。 Excelの広大なワークシートはこうやって、「見えない所に 中間計算結果を書く」ために使うものなんですよ。
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
前回のご質問で追加の記載があったのですね。申し訳ありませんでした。 A4セルには次の式を入力して下方にドラッグコピーします。 =IF(OR(A$1="",A$2=""),"",IF(DATE(A$1,A$2-1,ROW(A1)+15)<=DATE(A$1,A$2,0),DATE(A$1,A$2-1,ROW(A1)+15),IF(ROW(A1)<=16,TEXT(ROW(A1)+15,"00"),IF(AND(ROW(A1)>16,DATE(A$1,A$2,ROW(A1)-16)<DATE(A$1,A$2,16)),DATE(A$1,A$2,ROW(A1)-16),"")))) B4セルには次の式を入力して下方にドラッグコピーします。 =IF(OR(A4="",NOT(ISNUMBER(A4))),"","("&TEXT(A4,"aaa")&")")