• ベストアンサー

エクセルと日付の関数

エクセルと日付の関数 エクセル2007で以下のような表を作成しています。 処理日(現在の日付)が例えば3月2日であるとき、以下の表のA2セルに 3月の前月、つまり2月の日付を入力する関数はあるのでしょうか。 初心者で申し訳ありませんが、よろしくお願いします。

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
  • kuma56
  • ベストアンサー率31% (1423/4527)
回答No.1

A2セルに =DATE(YEAR(NOW()),MONTH(NOW())-1,1) セルの書式設定で日付を選び"○月×日"を指定 a3セルは =DATE(YEAR(NOW()),MONTH(NOW())-1,2) ←最後を一日増やす。 A4セル以下も同様に、最後の数字を一日分増やす。 ただし、月末分は大の月と小の月でもう少しひねりが必要。

その他の回答 (4)

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.5

やり方は色々ですが、 D1セルに =TODAY() A2セルに =IF(DAY(DATE(YEAR(D$1),MONTH(D$1),0))>ROW()-2,DATE(YEAR(D$1),MONTH(D$1)-1,ROW()-1),"") A2セルをA32までオートフィル 数式の意味は、 条件式IFの条件:D1セルの前月末日の日にち > 数式の入ったセルの行数-2 条件が真の時:行数に応じて日付を表示 条件が偽の時:""つまり空欄として表示(日付が前月を越えて今月になる為) D$1の様に行数の前に$をつけると別の行にコピペしても変化しません $D1だと列のみ固定、$D$1で行列固定 ファイル容量を少しでも小さくするなら、例えばE1セルに =DAY(DATE(YEAR(D1),MONTH(D1),0)) A2セルに =DATE(YEAR(E1),MONTH(E1),1) A3セルに =A2+1 A3セルをA29までオートフィル A30~A32まで(もしくはA2~A32まですべて) =IF(E$1>ROW()-2,DATE(YEAR(E$1),MONTH(E$1),ROW()-1),"")

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

在る日付セルの年、月、非はYEAR(D1)、NONTH(D1),DAY(D1)で判る。 年月日の数から日付を、組み立てるのは=DATE(年、月、日)で行う。 前月同日の場合月をー1して置けばよい。 =DATE(YEAR(D1),MONTH(D1)-1,DAY(D1)) ーー 気になるのは、 月末(大の月からーー>小の月)の場合 前の年になる場合 3月末から2月末末 月初から前月末 などだが、実例でやってみてください。 例データ A列        B列 2009/12/31 2009/12/1 2010/1/31 2009/12/31 2010/2/28 2010/1/28 2010/3/31 2010/3/3 2010/4/30 2010/3/30 2010/5/31 2010/5/1 2010/6/30 2010/5/30 2010/7/31 2010/7/1 2010/8/31 2010/7/31 2010/9/30 2010/8/30 2010/10/31 2010/10/1 2010/11/30 2010/10/30 B列の式は =DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)) どういう風にしたいか、それに応じて考えないとダメなようです。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

D1セルが現在の日付でよいのであればD1セルには次の式を入力すればよいでしょう。 =TODAY() セルの表示形式は日付から8月8日のように表示されるようにすればよいでしょう。 A2セルへの入力の式は回答2のままです。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

D1セルには例えば3月2日と入力したとします。数式バー上では2010/3/2のように表示されますね。年が違うのでしたら2009/3/2のように入力します。 A2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR($D$1="",MONTH(DATE(YEAR($D$1),MONTH($D$1)-1,ROW(A1)))>=MONTH($D$1)),"",DATE(YEAR($D$1),MONTH($D$1)-1,ROW(A1))) これでA列には2010/2/1から2010/2/28までが表示されます。これを2月1日のように表示させるためにはA列を選択してから右クリックして「セルの書式設定」の「表示形式」で「ユーザー定義」を選んで m"月"dd"日" と種類の窓に入力します。

関連するQ&A

専門家に質問してみよう