プロが教えるわが家の防犯対策術!

いつもお世話になっています。また疑問が出てきてしまったので質問します。
タイトルの通りEXCEL97で日付の計算をさせたいのですがやり方がよくわかりません。
やりたいことはある日付から1ヶ月後、3ヶ月後9ヶ月後というようにこちらの任意の月数を足した日付を
表示させたいのです。

よろしくお願いします。

A 回答 (6件)

EDATE関数でセル参照も出来ます。


A1にtoday()あるいはnow()などを、B1に月数を入力したとして、C1に
=EDATE(A1,B1)
シリアル数で表示されますので、表示形式を日付にします。

EDATE関数が組み込まれていないときは、セットアップ プログラムを実行して分析ツールを組み込み、[ツール] メニューの [アドイン] コマンドを使ってその分析ツールを登録する必要があります。

ヘルプの「EDATE」を参照してください。
    • good
    • 0
この回答へのお礼

返事が遅くなって申し訳ありません。
EDATEという関数があるのは知りませんでした。
分析ツールは組み込んでいたのですが(最初にとりあえず全部組み込んでおいたので)
アドインの登録をしていなかったためHELPしか表示されませんでした。
これでよくわからないマクロの勉強をしなくて済みそうです。(本当はちゃんと勉強しなければならないとは思いますが)
どうもありがとうございました。

お礼日時:2001/03/18 08:17

dateaddをつかうとよろしいでしょう



Function abc(idate, idiff)

abc = DateAdd("m", idiff, idate)
End Function

'これは使用例
Sub aaa()
a = abc("2001/01/31", 1)
MsgBox a
End Sub
    • good
    • 0
この回答へのお礼

確かに表示されました。問題は私はマクロが全然と言っていいほど解らないことです。
どうやったら今日の日付に好きな月数を足した日付を表示させるかを実行できるよう勉強する事にします。
実はマクロは難しそうなので今まで避けて来たんです。

お礼日時:2001/03/16 09:08

こんにちは



 以下のページもご参考になるのでは?

【エクセル技道場】-関数-月末の日付
http://www2.odn.ne.jp/excel/waza/function.html#S …

参考URL:http://www2.odn.ne.jp/excel/waza/function.html#S …

この回答への補足

回答ありがとうございます。こんなHPもあるのですね参考にします。ただ私がやりたかったこととは少し違います。どうやらマクロを作らなければできないようですね。私がやりたかったのは次のようなことです。TODAYもしくはNOWの入っているセルを参照して別のセルに数字だけを入れその数字を足した月だけ後の日付を表示させたかったのです。もしも何か良いアイディアがあれば教えてください。

補足日時:2001/03/15 07:39
    • good
    • 0

こんにちは。


telescopeさんのアドイン関数が最良と思われますが、
何らかの理由でアドイン関数が使用できない場合、
以下の関数の組み合わせで同様の結果が得られるハズです。

=DATE(
IF(MONTH(A1)+B1>12,YEAR(A1)+1,YEAR(A1)),
MOD(MONTH(A1)+B1,12),
DAY(A1))

A1:起算する日付
B1:経過月

どうしようもなく手がかかりますが(笑)
    • good
    • 0
この回答へのお礼

こちらの勉強不足でアドインの登録をしていなかったばかりに組み込んでいたにもかかわらず
EDATE関数が使えずにアドバイスを頂いた方法で実行するしかないのかと思っていました。
こんな方法もあるのですね。今後の参考にしたいと思います。
どうもありがとうございました。

お礼日時:2001/03/18 08:24

EDATE関数を使います。


EDATE(開始日, 月)

=EDATE("2001/3/14",3)
で、2001/6/14が得られます。

今日の日付からなら、
=EDATE(today(),3)
    • good
    • 0
この回答へのお礼

telescopeさんのアドバイスでようやくEDATE関数が使えるようになりました。
せっかく早くにアドバイスを頂いていたにもかかわらず、こちらの勉強不足から
そんな関数がない(;_;)と悩んでしまいました。
どうもありがとうございました。

お礼日時:2001/03/18 08:20

一番単純な方法は


まず、today関数を入れます。TODAY関数を入れたせるに数式バーでTODAY関数の後に+1をすることで常に次の日の日付がでます。
その応用で例えば3月14日に+31を足してみると4月14日に。
+61(3月が31日間で31+4月が30日間で30=61日)を足すと5月14日になるんですが、参考にならないですかね・・・・。
    • good
    • 0
この回答へのお礼

実は今までDOS版のロータス1-2-3のマクロで動かしていたものをEXCELで使用できないかと
試行錯誤をしているところなのですが日付の扱いがよくわからないのでこのような質問になりました。
このやり方は今使っているロータスのマクロのやり方なんですが月の日数が月のよって違うので
マクロを作った人は1月をすべて30日として計算していたんです。
ところがやはり無理がありある時月がずれて表示されたのでもしかしたらEXCELではもっといい方法が
あるのではないかと質問しました。
どうもありがとうございました。

お礼日時:2001/03/18 08:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!