• ベストアンサー

セルに日付を入れたら別セルの日付が更新できる関数

A1に更新日、B1に期日1、C1に期日2にそれぞれ日付が入った表があります。更新日(A1)に日付を入力すると、期日2(C1)が期日1(B1)の1年後の日付が自動的に入る関数はありますでしょうか? 宜しくお願い致します。

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.6

添付図参照(Excel 2019)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄↓↓↓↓↓↓↓↓↓↓↓↓↓

peace5577
質問者

お礼

ずばりこれです! 助かりました。 ありがとうございます!

その他の回答 (5)

  • kichi8000
  • ベストアンサー率41% (660/1584)
回答No.5

これですかねえ。 =IF(A1<>"",EDATE(B1,12),"") EDATE関数を利用する前に『分析ツール』アドインの有効化が必要な場合があります。

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

#3のお礼文章に関して。 >ひもづいてない の意味がよく判らないです。 A1セルが普通は空白で、A1セルにデータを入れるとC2セルにB1セルの1年後が出る、はC1セルに =IF(A1="","",DATE(YEAR(B1)+1,MONTH(B1),DAY(B1))) で出来るが、こんなことではない? ーー VBAでA列セルのChangeイベントの式を書けば出来るが、そういう問題か? vba なら、A列のセルの値のChangeイベントに対し、 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then ’A列の変化なら Cells(Target.Row, 3) = DateSerial(Year(Cells(Target.Row, 2)) + 1, Month(Cells(Target.Row, 2)), Day(Cells(Target.Row, 2))) ’B列の日付で1年後の日付を同行C列へセット End If End Sub もうすこし丁寧に質問文を書いてほしい。

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

例えばA1セルに日付2023/4/1 があり、A1の日付が変わると、A1の年の1年後のヒズケをA2だしたいならセルに出したいなら =DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))  かまたは =DATE(YEAR(A1),MONTH(A1)+12,DAY(A1)) で良くはないのか? ーー #1,#2でのご回答からすると、聞いていることが違うのかな?もっと複雑な意味か?

peace5577
質問者

お礼

ありがとうございます。 A1の日付とC1の(B1に対して1年後)の日付が紐づいていないので難しいのかと思います。参考になりました。 ありがとうございます。

回答No.2

>更新日(A1)に日付を入力すると、期日2(C1)が期日1(B1)の1年後の日付が自動的に入る関数 不可能です。 「C1がB1の1年後になる」というだけなら、C1に、B1の一年後を返す式を入れれば可能です。 しかし「A1に日付を入力した」というだけでは、B1の値は変化しませんから、ご希望の動作は不可能です。 これが「A1に日付を入力すると、B1に自動的にA1の3週間後の日付が入り、C1にはB1の一年後の日付が入る」とかなら可能です。 問題は「A1に何か入れても、B1が何も変化しないなら、B1を元にC1を計算しても無意味」という点です。この問題点が解決しないと「そういう動作をさせるのは不可能」という事です。

peace5577
質問者

お礼

理解しました。ありがとうございます。

  • hiro_1116
  • ベストアンサー率30% (2563/8280)
回答No.1

下記がご参考になるかと。 https://excel-ubara.com/excel3/EXCEL003.html

peace5577
質問者

お礼

ありがとうございます。 参考にさせていただきます。

関連するQ&A