• ベストアンサー

日付関数

日付関数の入力方法が分からないのですが、、 セルA1に“2006/10/26”と入力すると、 A2に3ヶ月前(2006/07/26) A3に1ヶ月前(2006/09/26) A4に1週間前(2006/10/19) A5に3日前 (2006/10/23) と自動的に入力されるようにしたいのです。 どのような関数を入力したらよいでしょうか?

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

  • ベストアンサー
noname#65286
noname#65286
回答No.3

そのものずばりの関数はないようです。 IF関数、WEEKDAY関数と組み合わせると可能です。 #2さんのEDATE関数を使った方が式が短くなります。 #NAMEエラーになる場合は[ツール][アドイン]で[分析ツール]にチェックを入れてください。 3ヶ月前の場合、下記のようになります。 =IF(WEEKDAY(EDATE(A1,-3),2)<6,EDATE(A1,-3),EDATE(A1,-3)-WEEKDAY(EDATE(A1,-3),2)+5) DATE関数を使ったものはもっと式が長くなるので省略 WEEKDAY(EDATE(A1,-3),2) ・・・3ヶ月前の曜日、1:月~7:日の結果が返されます。 WEEKDAY(EDATE(A1,-3),2)とEDATE(A1,-3)が何度も出てくるので別のセルで計算しておくといいです。 例えば AA2に =EDATE(A1,-3)  AB2に =WEEKDAY(AA2,2) を入れておくと =IF(AB2,2)<6,AA2,AA2-AB2+5) とすることができます。

参考URL:
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/today.htm

その他の回答 (2)

  • cooci
  • ベストアンサー率29% (1394/4779)
回答No.2

3ヶ月前 =EDATE(A1,-3) 1ヶ月前 =EDATE(A1,-1) 1週間前 =A1-7 3日前 =A1-3 これでよいはずです。

kuronekosan2
質問者

お礼

ありがとうございます。 ただ、1ヶ月前(=EDATE(A1,-1)と、3日前(=A1-3)が出来ませんでした。。 私の入力方法がいけないのかもしれません。 ありがとうございました!

kuronekosan2
質問者

補足

間違えました! 3日前は出来たのですが、1ヶ月前が出来ませんでした。。

noname#65286
noname#65286
回答No.1

3ヶ月前は =DATE(YEAR(A1),MONTH(A1)-3,DAY(A1)) 1ヶ月前は =DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)) 1週間前は =A1-7 3日前は =A1-3 です

kuronekosan2
質問者

補足

回答ありがとうございます。 出来ました! もうひとつ質問があるのですが、、 例えば、1ヶ月前や3日前が土日だった場合、 繰り上げて金曜日の日付にするような事(関数)は あるのでしょうか。 稼働日を除く、ということになるのですが。。 何度もすみません。

関連するQ&A

  • EXCEL: 日付を残す関数

    どなたか教えてください。 伝票明細に度々同じような編集を加えるので、自動的に編集した日付を履歴として残すようにしたいのです。 ↓ 明細行の一番左側(A5)に、プルダウンリスト(入力規則)から「入庫」または「出庫」を選ぶと、自動的にとなりのセルにその日の日付が入力されるようにする。 私が考えたのは、次のとおり。 (B5)にひとまずToday関数を入れる。→(C5)に次の関数を入れる。 C5=IF(OR(A5="入庫",A5="出庫"),B5,"") けど、これじゃ値ではなく数式をもってきちゃうので、別な日に開くと日付が更新されてしまうのです。 どうすればよいですか?よろしくお願いします。

  • エクセルの関数(日付の入れ方)

    エクセル関数で日付の入れ方を教えてください。 例えば、「10/17(月)~10/22(土)」というように、数字を入力したら自動表示する方法はありますか?毎回、カレンダーで曜日を調べて入力するのが大変なので、簡単な方法があれば教えてください。ちなみに、セルの書式設定でやってみたのですが、m/d(aaa)→10/17(月)の入れ方しかわからず「~10/22(土)」までの自動のやり方がわかりませんでした。

  • 一覧表の中から指定した日付の一つ前の日付を知るための関数を教えて下さい(:_;)

    下表(?)のように、日付がバラバラに入力されている一覧(エクセル)で、 (1)日付を入力して指定 C1 →  2007/11/25 (2)上記(1)で指定した日付よりも一つ前の日付を表示させる。 D1 →  『結果』 と、いう風な感じにしたいのですが、何かいい方法はありませんか? 一覧表にない日付もあるので、単純に『-1』というわけにいかないのです。。。。(*_*) セル名 値 A1 2007/11/12 A2 2007/11/5 A3 2007/11/20 A4 2007/11/20 A5 2007/11/20 A6 2007/11/25 A7 2007/11/30 Rank関数やLarge関数等組み合わせてトライしましたが、なかなかうまく出来ません(T_T)

  • エクセル 日付自動入力?

    エクセル2000を使用しております。 例)セルA1に 8/1 と入力したら   セルB1以降には自動で 8/2 セルC1には8/3・・・・・ 以上のように連続2週間分の日付が入力されていく。 但し 土曜日、日曜日の日付は入力されないようにする。 以上のような自動入力をする関数、もしくはVBAにての 命令文を教えていただきたいのですが・・ よろしくお願いいたします。

  • 日付が自動的に変わる関数は?

    関数なんて自分で考えて作るものなのでしょうか? 元からある「式」をそのまま取り出してポンと置けば済むのだとばかり、思っていました。 それほどの初心者です。 前置きが長くてすみません。 日付に関する関数について、どうしてもわからない事があって書き込みをしました。 ここに二つのセルがあります。 左のセルには直接入力で日付を入れていって、右のセルには、左のセルの日付が1日から10日だったら自動的にその月の15日と表示するように、同様に11日から20日だったら25日と、21日から末日だったら、翌5日と、表示したいのですが、どうすればよいのでしょう?(ちなみに日付の表示は「●/●」となるように。) IFやDAYを駆使したつもりですが、どうもうまくいきません。 よろしくおねがいします。

  • 日付 関数について(うるうどしについて)

    早速ですが、セルについて説明します。 例えば下記のとおりにセルにデータが入力されてるとします。 データ入力 A1→2009(年) A2→2(月) 関数入力             関数答え C1→=DATE(A1,A2,25)       25 C2→=C1+1              26 C3→=C2+1               27 C4→=C3+1               28 C5→=C4+1                1 C6→=C5+1                2 C7→=C6+1                3 C8→=C7+1                4 ・                      ・ C29→=C28+1              25 って表示するのですが、うるう年だけ日付が変わるので 自動で計算できなくて困っています。 結果として スタート日が25日で終了日に24日と計算でき、 うるう年の時は、24日と表示したセルが 25日と表示をするので25日と表示をしないように 計算できる関数はないでしょうか? よろしくお願いいたします。

  • Excelで月を入力すると、日付を自動で表示

    Excelで以下を実現したいのですが↓ 手順1:A1セルに「5」と手入力する 手順2:A2~A32セルに、「5/1」~「5/31」までの日付が自動で入力される 手順2を実現する関数を教えて下さい。 A1セルに入力された「5」を読み取り、 5月の日付を自動でA2~A32セルに表示する関数を教えて下さい。 (※5月だけではなく、1月~12月にも対応できる関数で) よろしくお願いします。

  • Excel関数で任意の日付を表示させるには?

    Excel関数を用いて、任意の日付を表示させる方法を 教えていただけますか? 例えば、今日からちょうど1年半後の日付を 知りたい場合、セルA1に今日の日付 20040829 と入力すると、セルB1に 20060229 と表示させるような関数は、何をどのように 使えば良いのでしょうか? date という関数を試してみたのですが、 「日」は加算できるのですが、 「年」や「月」に+1、+6と入力しても、 「日」の方に加算されてしまい、 うまくいかないんです。 良い方法を御存知の方がいらっしゃいましたら、 ご回答、よろしくお願いします。

  • Excel関数で日付の自動入力をしたい場合・・・

    Excelの関数を用いて日付を自動入力できないものかと思いまして お詳しい方にご教授いただければと思うのですが A1 セルに”入力規則”で1月~12月まで選択できるようにしておいて ある月を選択すると A2~A32に自動で日付が入るようにできないでしょうか? 例 A1:4月をプルダウンから選択 A2:4/1 B2:火 (=TEXT(A2,"aaa")を使用してます) 以下31日まで自動入力 宜しくお願いいたします。

  • 入力した日付が正しいかどうかを判断する関数

    いつもお世話になっております。 環境  OS:VISTA  Excel:2007 A1セルに 日付データ(例えば、2012/2/29)を入力 した際に、その日付データが有効なものかどうかを 判断する関数はあるでしょうか? ネットで検索して、「IsDate」という関数を紹介している サイトがあったのですが、B1セルに =IsDate(A1)と入力したのですが、「#NAME?」とエラー 表示されました。 IsDate関数は、VBAでないと有効ではないのでしょうか? もし、関数で標題の処理ができる関数があれば、教えて いただきたいのですが。 よろしくお願いいたします。