日付開始を1ヶ月前からの表示にする数式

このQ&Aのポイント
  • 数式を使用して、日付の表示を1ヶ月前からにする方法について質問しています。
  • 質問者は、回答を試してみたがうまくいかなかったと述べています。
  • 特に、6月分の表示を5月16日以降からにする方法が知りたいようです。
回答を見る
  • ベストアンサー

日付開始を1ヶ月前からの表示にする数式

http://okwave.jp/qa/q7468139.html 上記にて質問させていただいています。 回答いただいた方の数式を当てはめれば、問題なく表示できるようにはなったのですが、 3月分・・・2/16~3/15 4月分・・・3/16~4/15 というように、月を1ヶ月マイナスして表示をしたいのですが、その場合、 どこの数式に入れたらよいでしょうか? 色々試したのですが、うまく行きませんでした。 A4セルに入れた数式は、 =IF(OR(A$1="",A$2=""),"",IF(DATE(A$1,A$2,ROW(A1)+15)<=DATE(A$1,A$2+1,0),DATE(A$1,A$2,ROW(A1)+15),IF(ROW(A1)<=16,TEXT(ROW(A1)+15,"00"),IF(AND(ROW(A1)>16,DATE(A$1,A$2+1,ROW(A1)-16)<DATE(A$1,A$2+1,16)),DATE(A$1,A$2+1,ROW(A1)-16),"")))) 上記数式では、6月分 6/16~スタートの数式になりますが、6月分 5/16~の表示にしたいのです。 すみませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.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)
回答No.1

前回のご質問で追加の記載があったのですね。申し訳ありませんでした。 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")&")")

関連するQ&A

  • 日付表示に関する質問です。

    仮にA1のセルに月の数字「2」と入れた時に、A2~のセルに2月の日付が自動更新されるような関数を他の質問者への回答(下記表記)で一応処理出来ました。 =IF(MONTH(DATE(YEAR(TODAY()),$A$1,ROW()-1))=$A$1,TEXT(DATE(YEAR(TODAY()),$A$1,ROW()-1),"m/d"),"") ここで質問なのですが、表示させる"m/d"の状態であれば月の日数分(28or29or30or31)のみの表示でうまく切れるのですが、"m月d日"とすると正式な日数分を超え(例えば30日の月であれば次の月の1日が入る)て入ってしまいます。 これは何故なのでしょうか? また、"m月d日"の形で上記を修正表示する事は可能でしょうか? 当方、関数自体もさほど使った事がなく、限りなく初心者に近いので、分かりやすく教えて頂ければ幸いです。 どうぞよろしくお願いいたします。

  • 行の時の日付表示の仕方

    いつもお世話になります。 WindowsXP Excell2003です。 列での日付の表示で 月ごとに変わる 31、30、28、29日の日付を下記の式で対応をしています。 B1 2010 C1 1 A1 =DATE(B1,C1,1) 2010/1/1 A2 =IF(MONTH(A$1+ROW(A1)-1)=MONTH(A$1),A$1+ROW(A1)-1,"") 01 A3 =IF(MONTH(A$1+ROW(A2)-1)=MONTH(A$1),A$1+ROW(A2)-1,"") 02 ・ ・ ご教示をいただきたいのは 行で A2~ 日付を表示するときの数式です。 B1 2010 C1 1 A1 =DATE(B1,C1,1) 2010/1/1 A2 ~ よろしく御願いします。

  • 日付を表示

    H3に日付を入力してます。 B6にこの関数を入力してます。 =IF(DATE(YEAR($H$3),MONTH($H$3),1)*DATE(YEAR($H$3),MONTH($H$3),-5+ROW()),DATE(YEAR($H$3),MONTH($H$3),-5+ROW()),"") これをB6~↓にコピペしてます。 なんだか違う気もしますが、無事に表示されてます。 やりたい事は、月によって日数が変わるとき例えば 29日や31日など この時現在は空いたセルによく月の1日や2日が表示されるのを空白にしたいのです。 後上記の関数以外の用方法がありますか! ちなみにC列には、WEEKDAY関数で曜日を表示させてます。 おねがいします。

  • 日付表示で困っています。

    日付表示で困っています。 例:A1セルに2010 A2セルに4(月)を入力してあります。 B1セルに =DATE(A1,A2,1)と数式を入れてあり、表示はddですのでB1セルは01(1日)と表示されています。 B2からは =A1+1 の式で31(31日)まで表示されるようになっていますが、5月などの31日まで存在する月は良いのですが、4月などは31日の部分に01(次月1日)が表示されてしまします。 その次月1日を表示させたくありません(スペース処理したい)が、、、私の能力ではできません。 教えてください。

  • 保存をすると数式が勝手に配列数式になってしまいます

    やりたかったのは、次のような処理です。 1.現在のセルから見て、1行上のセルを参照します。 2.1行上のセルの中身が、""(空白)であれば、現在のセルの中身も""(空白)に、そうでなければ、1行上のセルの中身に1を足した数を入力します。 そこで、以下のような数式を入力いたしました。 =IF(OFFSET(INDIRECT(ADDRESS(ROW(), COLUMN())), -1, 0) = "", "", OFFSET(INDIRECT(ADDRESS(ROW(), COLUMN())), -1, 0) + 1) 結果は、成功でした。 ところが、この数式を入力したファイルを保存すると、次回開いたときに、 {=IF(OFFSET(INDIRECT(ADDRESS(ROW(), COLUMN())), -1, 0) = "", "", OFFSET(INDIRECT(ADDRESS(ROW(), COLUMN())), -1, 0) + 1)} と、勝手に{}で数式が囲まれてしまい、結果として、セルにはエラーが表示されてしまいます。 この原因は、何なのでしょうか? よろしくお願いいたします。

  • 数式を使用して日付を表示させたい

    「A1」に「10/1」と入力すると「1日・2日・3日・・・・・・31日」と、31日で終了するように、 「A31」まで自動的に日付が表示されるように設定する数式(オートフィルでなく)があれば教えてください。 (尚、日付は「1日・2日・3日・・・・」の形で表示させたい。) 「B1」には曜日が「月」と表示するように数式を入力しています。 「B1」にも上記のように、月末まで「月・火・水・・・・」と表示させる数式があれば教えてください。 なるべく早く、回答を頂ければうれしいのですが・・・ 宜しくお願いいたします。

  • PHPで指定した日付の1ケ月前表示

    MySQLにある日付を拾ってきて表示しています。 <?php echo $row_target_date['ap_date']; ?> 上記のPHPでは、MySQLのテープルのap_dateカラムにある日付を拾ってきて表示するようにしています。 この1ケ月前を表示したいと考えています。 <?php echo "1月前:" . date("Y/m/d",strtotime("-1 month" ,strtotime("echo $row_target_date['ap_date']"))) . "<BR>"; ?> では表示できませんでした。 表示方法についてご指導いただきたくお願い致します。

    • ベストアンサー
    • PHP
  • 開始日から数ヵ月後を表示する数式を教えて下さい!

    開始日から数ヵ月後を表示する数式を教えて下さい! 色々ほかでも検索したのですが、同じようなものがなかったので教えて下さい。   A      B   C 1 開始月    期間    終了月 2 2010年8月  3ヶ月   「C」の終了月を出す数式を教えていただけないでしょうか? DATEDIFとかでしょうか? 宜しくお願い致します。

  • Excelの数式が表示されない

    Excel2007を使っています。 2000までは、セルに数式を入れると上部のバーに数式が出たのですが、 2007では表示されません。 例えばセルに「100」と入っているとき、2000では「=50*2」とか「=A3+B5」というように入力した数式が見えるようになっていました。 2007になってから、数式バーがなくなったのでしょうか。 数式を表示させるにはどうしたらいいでしょうか。

  • excelの数式がわかりません!

    こんにちわ、超初心者です。EXCELの数式で困っています。 ●セルB2にA2から1マイナスした数を表示させます。単純に、 =A2-1 ですよね。●さらにこの数式の答えのなかから、-1以下は0と表示させたいのですが、この二つの条件を満たす式がわかりません!! どなたか教えて下さい!よろしくお願いします。

専門家に質問してみよう