- ベストアンサー
エクセルの関数で入力した日付を1年ごと更新させたい。
エクセルを使って健康診断欄の日付を1年ごとに自動更新させたい。 仕事で健康診断日を入力する書類があるのですが、たびたび診断切れの状態で提出してしまいます。 健康診断は1年に1回受けることになっており、健康診断を受けた日から1年たったら、日付が1年後に自動更新されるような関数があれば教えて頂きたいです。 例、H19.8.15 と入力されているセルが、平成20.8.15日になったらH20.8.15に自動的に変わる。 できれば更新日が日曜にあたると、その後日の月曜か、前日の土曜になればなおよいのですが、贅沢は言いません。 よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
分割でもよいのであれば、式が見にくくなるので出来るだけ分割して 昨年の8/15 (A1) =DATE(YEAR(TODAY())-1,8,15) 今年の8/15 (B1) =DATE(YEAR(TODAY()),8,15) 今年の検診日 (C1) ※今年の検診日が日曜日なら1日加算 =B1+IF(WEEKDAY(B1)=1,1,0) 健康診断欄の日付の式 =IF(TODAY()<C1,A1+IF(WEEKDAY(A1)=1,1,0),C1) セル番地等は適当に直してください。
その他の回答 (3)
- ts3m-ickw
- ベストアンサー率43% (1248/2897)
No2です。ごめんなさい失敗しました。 あれだと1月1日に日付が変わっちゃうな。もう少し考えてみますが、単一セルだと難しいな‥‥。
補足
No2さん 回答ありがとうございます。 単一セルでなくても全然大丈夫です! その書類には、健康診断日の他に勤続年数や経験年数も入力欄があり、そちらはDATEDIFをつかっています。 ぜひぜひ宜しくお願いいたします。
- ts3m-ickw
- ベストアンサー率43% (1248/2897)
2箇所直す必要があるので日付の変更が大変ですが、こんな式ならご希望に沿うものかと。 +を-に変えれば前日の土曜日になります。 =DATE(YEAR(TODAY()),6,15+IF(WEEKDAY(DATE(YEAR(TODAY()),6,15))=1,1,0))
- kickknock
- ベストアンサー率31% (207/661)
あんまり、質問の意図が理解できないのですが、誤解でしたら無視してください。 要は、日付更新関数ですか? =today() を入れておけば、明日になれば明日になります。 表示形式はセルの書式設定にて、変更できます。 固定日 19/8/15を入れておいて下に、予定日=today() それまでの期間をその下のセルに入れれば =today()-セル(19/8/15)となります。 これで、200日前とかわかります。
補足
kickknockさん 回答ありがとうございます。 質問がわかりにくくてすみません(^_^;) 健康診断は一年間有効で、H19.8.15日に健診を受けたとしたらH20.8.15日まで有効なのです。 私が資料を提出する際、平成20年の6月時点ならば、H19.8.15と入力されている書類をそのままプリントアウトして提出すれば良いのですが、 H19.8.15から一年たったH20.8.15日以降にその書類を提出するときには、健康診断日をH20.8.15と入力し直してプリントアウトしなければいけないのです。 この時、期限切れを見落としてしまうことが多いので、それを防ぐためDATEDIFを使っている年齢欄のように自動で日付が変わってくれたらなぁと考えているのです・・・ 関数はあまり詳しくないので、出来れば貼り付けるだけでつかえるように記述して頂けるとたすかります。 無理を言いましてすみません。 よろしくおねがいいたします。
お礼
お礼が遅くなりまして申し訳ございません。 回答ありがとうございました。