- ベストアンサー
EXCEL97 日付の自動計算のさせかた
いつもお世話になっています。また疑問が出てきてしまったので質問します。 タイトルの通りEXCEL97で日付の計算をさせたいのですがやり方がよくわかりません。 やりたいことはある日付から1ヶ月後、3ヶ月後9ヶ月後というようにこちらの任意の月数を足した日付を 表示させたいのです。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
EDATE関数でセル参照も出来ます。 A1にtoday()あるいはnow()などを、B1に月数を入力したとして、C1に =EDATE(A1,B1) シリアル数で表示されますので、表示形式を日付にします。 EDATE関数が組み込まれていないときは、セットアップ プログラムを実行して分析ツールを組み込み、[ツール] メニューの [アドイン] コマンドを使ってその分析ツールを登録する必要があります。 ヘルプの「EDATE」を参照してください。
その他の回答 (5)
- kee
- ベストアンサー率13% (63/457)
dateaddをつかうとよろしいでしょう Function abc(idate, idiff) abc = DateAdd("m", idiff, idate) End Function 'これは使用例 Sub aaa() a = abc("2001/01/31", 1) MsgBox a End Sub
お礼
確かに表示されました。問題は私はマクロが全然と言っていいほど解らないことです。 どうやったら今日の日付に好きな月数を足した日付を表示させるかを実行できるよう勉強する事にします。 実はマクロは難しそうなので今まで避けて来たんです。
- kbonb
- ベストアンサー率51% (254/492)
こんにちは 以下のページもご参考になるのでは? 【エクセル技道場】-関数-月末の日付 http://www2.odn.ne.jp/excel/waza/function.html#SEC31
補足
回答ありがとうございます。こんなHPもあるのですね参考にします。ただ私がやりたかったこととは少し違います。どうやらマクロを作らなければできないようですね。私がやりたかったのは次のようなことです。TODAYもしくはNOWの入っているセルを参照して別のセルに数字だけを入れその数字を足した月だけ後の日付を表示させたかったのです。もしも何か良いアイディアがあれば教えてください。
- qwerty
- ベストアンサー率43% (20/46)
こんにちは。 telescopeさんのアドイン関数が最良と思われますが、 何らかの理由でアドイン関数が使用できない場合、 以下の関数の組み合わせで同様の結果が得られるハズです。 =DATE( IF(MONTH(A1)+B1>12,YEAR(A1)+1,YEAR(A1)), MOD(MONTH(A1)+B1,12), DAY(A1)) A1:起算する日付 B1:経過月 どうしようもなく手がかかりますが(笑)
お礼
こちらの勉強不足でアドインの登録をしていなかったばかりに組み込んでいたにもかかわらず EDATE関数が使えずにアドバイスを頂いた方法で実行するしかないのかと思っていました。 こんな方法もあるのですね。今後の参考にしたいと思います。 どうもありがとうございました。
- telescope
- ベストアンサー率54% (1069/1958)
EDATE関数を使います。 EDATE(開始日, 月) =EDATE("2001/3/14",3) で、2001/6/14が得られます。 今日の日付からなら、 =EDATE(today(),3)
お礼
telescopeさんのアドバイスでようやくEDATE関数が使えるようになりました。 せっかく早くにアドバイスを頂いていたにもかかわらず、こちらの勉強不足から そんな関数がない(;_;)と悩んでしまいました。 どうもありがとうございました。
- mokotan
- ベストアンサー率33% (2/6)
一番単純な方法は まず、today関数を入れます。TODAY関数を入れたせるに数式バーでTODAY関数の後に+1をすることで常に次の日の日付がでます。 その応用で例えば3月14日に+31を足してみると4月14日に。 +61(3月が31日間で31+4月が30日間で30=61日)を足すと5月14日になるんですが、参考にならないですかね・・・・。
お礼
実は今までDOS版のロータス1-2-3のマクロで動かしていたものをEXCELで使用できないかと 試行錯誤をしているところなのですが日付の扱いがよくわからないのでこのような質問になりました。 このやり方は今使っているロータスのマクロのやり方なんですが月の日数が月のよって違うので マクロを作った人は1月をすべて30日として計算していたんです。 ところがやはり無理がありある時月がずれて表示されたのでもしかしたらEXCELではもっといい方法が あるのではないかと質問しました。 どうもありがとうございました。
お礼
返事が遅くなって申し訳ありません。 EDATEという関数があるのは知りませんでした。 分析ツールは組み込んでいたのですが(最初にとりあえず全部組み込んでおいたので) アドインの登録をしていなかったためHELPしか表示されませんでした。 これでよくわからないマクロの勉強をしなくて済みそうです。(本当はちゃんと勉強しなければならないとは思いますが) どうもありがとうございました。