• ベストアンサー

エクセルで期間満了日を出したい

エクセルで契約期間の表を作っています。 満了日は契約日から1年後とし、満了日を過ぎたものは自動更新となり、同じセルに翌年の満了日を表示させたいのです。 (例)現在2007/10/17の場合   A1    B1   C1  契約日  期間  満了日 2006/11/1  1年  2007/10/31 2006/10/1  1年  2008/9/30(1年経過した為、2年後の日付) 関数で出せますでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

#01です。すこし簡単に考えすぎましたね。#03さんのご指摘のように契約日がずっと昔で、複数年契約の自動更新のパターンが考慮できていませんでした。 理屈は#03さんと一緒ですが、こんな式でもできます。#01でも書きましたが「ツール」→「アドイン」で「分析ツール」にチェックが必要です。  =EDATE(A1,CEILING(YEARFRAC(A1,TODAY(),1),B1)*12)-1

domadomano
質問者

お礼

これでしたら、契約日が未来であってもきちんと繁栄しますね。 助かりました。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

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

今現在で1年先1日前、満了日をだすのは =IF(TODAY()>A1,DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)-1),A1) のような式でできるかなと思う。 しかし満了日は次ぎの年になれば、今の満了日の列に、計算した満了日を入れたいだろうと思う。次々列を増やせないから。 関数では、計算に使ったデータのセルの値を、計算後の値で置き換えることができない。 ーー それで契約日(A列)を元にするほうが良い A列契約日を元に計算すると計算がややこしい。 =DATE(YEAR(A1)+DATEDIF(A1,TODAY(),"y")+1,MONTH(A1),DAY(A1)-1) ーー 満了日(B列)を元にやるとすると VBAでやらざるを得ないようにおもう。 WorkbookのOpenイベントにでも Sub test01() d = Range("a65536").End(xlUp).Row For i = 1 To d If Date > Cells(i, "B") Then dd = Cells(i, "B") Cells(i, "B") = DateSerial(Year(dd) + 1, Month(dd), Day(dd) - 1) Else End If Next i End Sub

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

http://oshiete1.goo.ne.jp/qa3433656.htmlでも書いたんですが、 =datedif(起算日,today(),"Y")+datedif(起算日,today(),"YD")/365 とすると経過年数の小数表示ができます。これをふまえて、 期間が1年の場合、経過年数が1年以下だったら1年後,2年以下だっ たら2年後を返せばいいので、切り上げでいいような気がします。で も期間が5年だったら…念のため=ceiling(経過年数,期間)というこ とにしましょう。それなら期間が5年で経過年数が1.2年とかの場合 に5年後になりそうです。 zap35さんのedateを流用させてもらうと、 =edate(A1,ceiling(datedif(A1,today(),"y")+datedif(A1,today(),"yd")/365,B1)*12)-1 という感じですね。

domadomano
質問者

お礼

ありがとうございます。 試したところ、契約日がtodayより後の場合にはエラーになってしましました・・・ そういったケースも割りとあるので、できれば未来の契約日に関しても満了日が反映するようにさせたいのです。 申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

長い数式になりますが、次の方法は如何でしょうか。 =IF(TODAY()<=DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))-1,DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)-1),DATE(YEAR(A1)+2,MONTH(A1),DAY(A1)-1))

全文を見る
すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

A1に「2006/11/1」の日付が、B1に「1」の数字があるとき、  =EDATE(A1,B1*12) で1年後の日付である「2007/11/1」を求められます。満了日はその1日前ですから  =EDATE(A1,B1*12)-1 になります。(関数の2番目の引数は月数なので12を掛けています。またセルの書式は「日付」にしてください) またEDATE関数は「ツール」→「アドイン」で「分析ツール」にチェックを入れないと使用できませんのでご注意ください 質問では「本日」が満了日を過ぎていたら次の満了日を表示したいとのことですので  =IF(EDATE(A1,B1*12)-1<TODAY(),EDATE(A1,B1*24)-1,EDATE(A1,B1*12)-1) で良いと思います なおB列は計算に使用していますので「数値」を入力してください。表示に「年」をつけたいならセルの書式で「0"年"」とすれば、「1」と入力したとき「1年」と表示されます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 派遣を期間満了で辞めたい

    7月から初めて派遣で働いているのですが、辞めたいと思っています。理由は仕事内容が、コピーとゴミ捨てぐらいしか無く、職場環境も劣悪で、長く勤めるのは無理だと判断したからです。 そこで質問なんですが、契約は長期で、最初の1ケ月は試用期間を設け、それ以降は3ケ月ごとの更新という事で働いています。 契約書と言うんでしょうか、派遣される前に渡された就業条件明示書には、派遣期間は試用期間の1ケ月の日付になっており、すでにその日付は過ぎているので、こちらが辞めると申し出ない限りは自動更新されていくと思うのですが、試用期間は過ぎたので、次の契約更新の3ケ月後、11月で辞めようと思っています。 就業条件明示書には派遣期間は、試用期間の日付になってるわけで、3ケ月ごとの更新とかそんなことは書いてませんが、11月で辞めても期間満了ということで辞めれるんでしょうか?就業条件明示書は、更新ごとに派遣期間の日付が提示されてるものが、届くものなんですか? ちなみに長期って事は1年以上働かないと期間満了とう事にはならないんでしょうか?派遣は初めてで、よくわからないので教えてください。

  • 契約:満了日と解約日の関係

    契約:満了日と解約日の関係 ある契約で定められている契約期間の初回満了日が、契約をした日の翌月から起算して3ヵ月後の末日だとします(例えば5月に契約した場合、8月の末日に満了。)。その後は、1ヵ月ごとの更新。 この契約で初回満了日が2010年8月31日まで(2010年8月31日で満了)の場合、契約期間満了にてこの契約を更新せず解約すると、解約日は2010年8月31日(満了日)となるのですか、それとも、2010年9月1日(満了日の次の日)となるのですか? 参考サイト等ありましたら、教えて下さい。 よろしくお願いします。

  • エクセルである期間の日程を入力して表示

    エクセルで、ある期間の日程、 例)2006/10/08~2006/11/07 上記の期間の日付をセルに入力した場合、 隣のセルに10月分と表示するための関数を教えてください。 2006/10/09  10月分 2006/11/10  11月分 イメージとしては左のセルに日付を入力すると 自動的に右側のセルに10月分、11月分みたいな文字が表示するようにしたいです。 宜しくお願いいたします。

  • 期間満了?解約?

    現在、事業所用の物件を借りていて来年の3月10日で期間満了となります。事情により、3月はじめ、少なくとも3月10日までには、移転することになりましたが、現時点で退去日を決定することはできません。 契約書では、期間満了の6ヶ月前までに、特段の意志表示がない場合は、自動的に契約は更新されるとあります。また、解約する場合は6ヶ月前まえに書面で申し出なければならない。それが行われない場合は、違約金が発生するとあります。 いずれにしろ、3月10日の6ヶ月前、つまり9月10日までに貸主に連絡しなければならないと思うのですが、退去の日取りがはっきり決められない状況で、貸主さんには「契約更新の意志はない」と伝えるのがいいのか「3月はじめに解約したい」と伝えるのがいいのか、あるいはどちらも大差ないのか。などと迷っています。 あまり気にかけなくてもよいことかもしれませんが、ご教授ください。

  • 委任契約の期間満了について

    私は独立の事業主として、ある企業と委任契約を交わしています。 契約期間は一年間で、双方に異議がない場合は自動更新となります。 前回は自動更新をしましたが、次回は自動更新をしない予定です。 そこで、質問させていただきたい点があります。 ・契約期間中に辞任する場合は、3ヶ月前に申し出るように契約書に書いてありますが、期間満了の場合も3ヶ月前に申し出る必要があるのでしょうか。 一般論として早めに申し出ることが良いのは承知していますが、法律上の解釈を知りたいので、委任契約という点をふまえてのご回答をよろしくお願いします。

  • エクセルで、日付の期間表をカレンダー形式におとしたい

    ある場所の使用予約期間の エクセルで作った日付で期間を表した表、 たとえば5月23日~6月2日のようなもの (日付は1セルごと)を カレンダー形式の見やすい表に変えたいのです。 カレンダーでその予約期間に色が付くとか●が入るとか できないでしょうか? もちろん上記の日付を修正した場合はカレンダーのほうも 自動的に変更されるということにしたいです。 どうかご教示お願いいたします。

  • エクセルで週末(金曜日)の日時を規定したい

    ここにはいつもお世話になっております。 エクセル2010を使用しています。 毎週はじめに更新されるエクセルの表(紙に印刷)が有り、その内容の有効期間は週末までなのですが、日付けの入力セルが離れているので入力忘れが発生します。(複数の人がかかわるので) そこで自動で入力(印刷)される方法を教えて頂きたく。 必ず月曜に更新、印刷される場合 today()+5で行けそうなのですが、月曜日以外の日に作成した場合でも自動で金曜日の日付にする方法について教えてください。

  • 契約期間の自動更新について

    本年は、ある特定の日から年度末までの期間(1年未満)を契約期間として契約をし、満了前までに双方の申し出がない限り、次年度から4月1日~3月31日まで(1箇年)を契約期間として自動更新していきたい契約があります。 この場合、契約書の契約期間を「ある特定の日~3月31日」とし、契約書内に「本契約の契約期間満了前に双方から特に申し出がない場合においては、期間満了の時から契約期間を1箇年として自動更新されるものとし、その後もまた同様とする。」という文言を入れておけば次年度以降、契約書を再び作成することなく1年単位で自動更新することができるでしょうか。 わかりにくい文章で申し訳ありませんが回答よろしくおねがいします。

  • エクセル2010で週間予定表の月曜の日付を1日だけ入れると、他のセルが

    エクセル2010で週間予定表の月曜の日付を1日だけ入れると、他のセルが自動で更新されるようにしたいです。 具体的には、週のはじめの月曜である”11月1日”の”1日”を”8日”と書き換えたとき、下のセルの火曜~の欄が自動で9日~になるようにしたいのです。 少し厄介なことに、縦の日付のセルと日付のセルの間に曜日のセルが挟まっているのです。 できれば、他人の作ったこのフォーマットを崩したくないのです。 よろしくお願いいたします。

  • 契約社員の期間満了

    契約社員をしています。4月1日に更新手続きをしました。来年の3月末までの契約期間となっています。 今回、初めて契約更新をしたのですが、3月29日頃更新についての話を3月31日に行うとの連絡があっただけで、3月31日当日に契約を更新すると言われ、新しい契約書へサインと押印を求められました。 そこで質問なのですが、3月31日でもし契約期間満了を告げられた場合、翌日から急に職を失うことになりますよね。 正社員なら、期間の定めがないため解雇の際には30日前に予告するか、30日分の解雇予告手当てを貰い、雇用保険も、会社都合となりますよね。 契約社員の場合は、30日前に更新の有無を告げなくても、急に契約満了で終了となるだけなのでしょうか? 私の会社の契約社員は、契約社員といえども管理職ばかりであり、今年も全員更新となりましたが、今後もずっと更新が続くとは限らないので不安になりました。 どなたか教えてください。

専門家に質問してみよう