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.4ベストアンサー
- 回答日時:
#01です。
すこし簡単に考えすぎましたね。#03さんのご指摘のように契約日がずっと昔で、複数年契約の自動更新のパターンが考慮できていませんでした。理屈は#03さんと一緒ですが、こんな式でもできます。#01でも書きましたが「ツール」→「アドイン」で「分析ツール」にチェックが必要です。
=EDATE(A1,CEILING(YEARFRAC(A1,TODAY(),1),B1)*12)-1
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
という感じですね。
=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
という感じですね。
この回答へのお礼
お礼日時:2007/10/18 09:25
ありがとうございます。
試したところ、契約日がtodayより後の場合にはエラーになってしましました・・・
そういったケースも割りとあるので、できれば未来の契約日に関しても満了日が反映するようにさせたいのです。
申し訳ありません。
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))
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 退職・失業・リストラ 離職理由コードについてのご相談 2 2022/12/14 22:53
- 労働相談 契約期間(退職日)の変更は問題ないのでしょうか。 2 2023/01/06 08:08
- 派遣社員・契約社員 有期派遣の抵触日 1 2022/08/24 19:41
- 不動産業・賃貸業 賃貸の解約について質問です。 不動産会社の言うことが分からず質問させていただきました。 新築のマンシ 1 2022/08/06 19:35
- その他(住宅・住まい) 賃貸の解約について質問です。 不動産会社の言うことが分からず質問させていただきました。 新築のマンシ 6 2022/08/06 19:42
- 退職・失業・リストラ 精神障害者が会社を辞める場合に有給休暇と傷病手当と失業保険を組み合わせ一番多くお金もらう方法はなに? 1 2022/11/08 19:25
- その他(パソコン・スマホ・電化製品) リースUPSの経年劣化により発生した費用の負担について 1 2023/04/12 11:39
- 労働相談 解雇制限(労基法19条)や有給休暇の付与日数は、勤続年数等で、有期期間であったか、反復更新した有期契 4 2022/06/22 11:48
- その他(暮らし・生活・行事) 契約期間の数え方について 2 2023/01/20 14:11
- 派遣社員・契約社員 契約社員でも退職届は必要ですか? 6 2022/09/07 09:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正社員9ヶ月+派遣社員5ヶ月...
-
社会人→学生の失業給付金について
-
今月13日まで応援ナースとして...
-
離職票2について 2C・2Dとチェ...
-
契約期間満了は自己都合ですか?
-
傷病手当金満了について
-
ファイザーがワクチン一番乗り...
-
失業保険取得後同じ会社に復帰
-
1年以内って・・
-
リゾバで二ヶ月働いて社会保険...
-
Wワーク(共にパート)をしてい...
-
引継ぎ不足のため退職後同じ会...
-
◆どうかご回答お願いします◆前...
-
前々職の離職票のみで失業保険...
-
退職日の半月前に明日から来な...
-
妻が妊娠中に解雇されました。
-
学生に復帰したら失業保険はも...
-
雇用保険の給付制限について質...
-
入籍前の失業保険
-
定年退職後に再雇用された64歳...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
離職票2について 2C・2Dとチェ...
-
契約期間満了で契約社員を退職...
-
今月13日まで応援ナースとして...
-
エクセルで期間満了日を出したい
-
国家資格合格者の登録拒否事由...
-
嘱託社員の契約満了について
-
妊娠で派遣更新してもらえなか...
-
契約社員の自己都合退職した場...
-
契約期間満了は自己都合ですか?
-
期間満了で辞めた場合
-
雇用保険って五ヶ月間フルタイ...
-
選考中の離職票交付は?
-
退職後失業保険の手続きをしな...
-
暦法的計算法による月数計算に...
-
退職したいが、失業保険をすぐ...
-
失業手当の受給資格
-
契約期間満了による退社の際の...
-
契約期間満了による自己都合退社
-
傷病手当金満了について
-
失業保険取得後同じ会社に復帰
おすすめ情報