[[20220321144313]] 『TODAY関数の『今日の日付』を固定にしたい』(八家) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『TODAY関数の『今日の日付』を固定にしたい』(八家)

いつもお世話になっております。
質問させてください。

a1セルに数字が入ったら
a2セルに、その数字を入力した日付を入れたい関数を作りたいと考えております
自分なりに考えたのが下の関数です。

=IF(a1<>"",=TEXT(today(),"yyyy/m/d"),"")

ただ、これだと日付が更新されてしまいます
固定するにはどうすればいいのか
教えていただけないでしょうか

< 使用 Excel:Excel2019、使用 OS:Windows10 >


すいません、訂正です
=IF(a1<>"",TEXT(today(),"yyyy/m/d"),"")
(八家) 2022/03/21(月) 14:48

 Ctrl+;
 を入力、ではだめなのか?
 あとはマクロか。
(通りすがり) 2022/03/21(月) 14:49

あるいは、式をコピーして値で貼り付けるとか。
(通りすがり) 2022/03/21(月) 14:50

ご返信ありがとうございます。
a1セルに文字が入ったら自動的に出力されるような
関数を考えております

(八家) 2022/03/21(月) 14:52


関数だけではできないので代替案を提示しました。
関数だけにこだわるのなら私はここで降ります。
(通りすがり) 2022/03/21(月) 14:53

通りすがり様
ありがとうございます。
(八家) 2022/03/21(月) 14:55

関数だけでは無理だと思います。

自動でやりたいということなら、マクロになります。
ワークシートのモジュールに下記のコードを記述してください。

 Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Application.EnableEvents = False
        If Range("A1").Value <> "" Then
            Range("A2").Value = Date
        Else
            Range("A2").Value = ""
        End If
        Application.EnableEvents = True
    End If
 End Sub

(hatena) 2022/03/21(月) 15:12


hatena様
ありがとうございます。
ここまでやってくれて感謝します
関数だけでは無理があったんですね
本当にありがとうございました。
(八家) 2022/03/21(月) 15:21

解決済みですが、念のため。
なぜ関数でできないかというと、
・自動的に今日を判定して結果を返すということと。
・固定しておきたい、
ということは両立しないからです。分かりますか?
どちらかを選択したら、どちらかは諦めないといけないのです。

(γ) 2022/03/21(月) 15:30


γ様
アドバイスありがとうございます。
確かに矛盾していますね・・
ご助言ありがとうございました
(八家) 2022/03/21(月) 18:14

 一応制限があるが関数で。
 まずEXCELのオプションの数式-計算方法の設定で反復計算を行うにチェックを入れ、最大反復回数を1とする。
 そしてA2セルに
 =IF(CELL("address")="$A$1",IF(A1="","",TODAY()),IF(A2=0,"",A2))
 と入力。
 これでA1セルに入力した日付をA2セルに表示する。
 なお、A1セルをクリアするとA2セルもクリアされる。
 ただしA1セルにカーソルを置いた状態で保存するとA2セルが更新されてしまう。
(ねむねむ) 2022/03/22(火) 09:06

ねむねむさま

返信大変送れました
ご回答ありがとうございます。
Excelは実に奥が深いんですね
(八家) 2022/03/27(日) 23:31


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.