- ベストアンサー
セルに日付を入れたら別セルの日付が更新できる関数
A1に更新日、B1に期日1、C1に期日2にそれぞれ日付が入った表があります。更新日(A1)に日付を入力すると、期日2(C1)が期日1(B1)の1年後の日付が自動的に入る関数はありますでしょうか? 宜しくお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- kichi8000
- ベストアンサー率41% (660/1584)
これですかねえ。 =IF(A1<>"",EDATE(B1,12),"") EDATE関数を利用する前に『分析ツール』アドインの有効化が必要な場合があります。
- imogasi
- ベストアンサー率27% (4737/17069)
#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)
例えば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でのご回答からすると、聞いていることが違うのかな?もっと複雑な意味か?
お礼
ありがとうございます。 A1の日付とC1の(B1に対して1年後)の日付が紐づいていないので難しいのかと思います。参考になりました。 ありがとうございます。
- chie65536(@chie65535)
- ベストアンサー率44% (8742/19841)
>更新日(A1)に日付を入力すると、期日2(C1)が期日1(B1)の1年後の日付が自動的に入る関数 不可能です。 「C1がB1の1年後になる」というだけなら、C1に、B1の一年後を返す式を入れれば可能です。 しかし「A1に日付を入力した」というだけでは、B1の値は変化しませんから、ご希望の動作は不可能です。 これが「A1に日付を入力すると、B1に自動的にA1の3週間後の日付が入り、C1にはB1の一年後の日付が入る」とかなら可能です。 問題は「A1に何か入れても、B1が何も変化しないなら、B1を元にC1を計算しても無意味」という点です。この問題点が解決しないと「そういう動作をさせるのは不可能」という事です。
お礼
理解しました。ありがとうございます。
- hiro_1116
- ベストアンサー率30% (2563/8280)
下記がご参考になるかと。 https://excel-ubara.com/excel3/EXCEL003.html
お礼
ありがとうございます。 参考にさせていただきます。
お礼
ずばりこれです! 助かりました。 ありがとうございます!