エクセルの数式があります=IF(NOT(ISBLANK(A2)), TEXT(NOW(), "mm/dd/yyyy HH:ss"),"")
私の問題は次のとおりです。もちろん、このシートを開くたびに、最新のタイムスタンプに関連付けられたセル値が更新されます。このタイムスタンプが既に存在する場合、変更したくありません。
私が欲しいのはどういうわけかです.A2が空白ではなく、最近更新されていない場合は、タイムスタンプを更新しないでください。
可能であればインライン関数を探しています。
ありがとう
エクセルの数式があります=IF(NOT(ISBLANK(A2)), TEXT(NOW(), "mm/dd/yyyy HH:ss"),"")
私の問題は次のとおりです。もちろん、このシートを開くたびに、最新のタイムスタンプに関連付けられたセル値が更新されます。このタイムスタンプが既に存在する場合、変更したくありません。
私が欲しいのはどういうわけかです.A2が空白ではなく、最近更新されていない場合は、タイムスタンプを更新しないでください。
可能であればインライン関数を探しています。
ありがとう
これは、VBAマクロを使用して実行できます。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row = 2 Then
If Target.Value = "" Then
Cells(2, 2).Value = ""
Else
Cells(2, 2).Value = Format(Now, "mm/dd/yyyy HH:mm:ss")
End If
End If
End Sub
セルA2に何かを書き込むと、タイムスタンプがセルB2に書き込まれ、A2を削除すると、B2も削除されます。タイムスタンプは自動的に更新されません。
(A2:C2またはE3:F4)のセルのいずれかが編集されている場合は、ある範囲のセル(たとえば、A9:C20およびD11:E12)に編集時刻を記録するとします。
あなたはこれを行うことができます:
シートタブを右クリックして[コードの表示]を選択し、次のコードを貼り付けます。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A2:C2,E3:F4")) Is Nothing Then Exit Sub
Range("A9:C20,D11:E12").Value = Now()
Range("A9:C20,D11:E12").NumberFormat = "mm/dd/yyyy hh:mm:ss"
End Sub
(A2:C2またはE3:F4)のいずれかが再度編集されない限り、タイムスタンプは自動更新されません。
[ファイル] > [オプション] > [数式] > [手動計算を確認] > [保存する前にブックを再計算する] のチェックを外します。必要に応じて、反復を有効にし、上記のように最大反復を 1 に設定します。
デフォルトの反復を に変更するだけ1で、停止する前に 1 回再計算されます。
これに行きます: