誰かがセルに入力すると現在の時刻を計算する数式を作成する方法。たとえば、従業員が来て不在を記入する必要がある場合、数式は入力された時間 (例: 14:30) を入力します。
すでに数式 =now() を使用していますが、不在を入力するたびに更新されるため機能しません。
答え1
これを実現するには 2 つのオプションがあります。
反復計算を使用する:
- ファイルに移動 - オプション - 数式
- 「反復計算を有効にする」をチェックする
- 「最大反復回数」を
1
- これで、次の数式を使用できます:
=IF(A1="","",IF(B1="",NOW(),B1))
これにより、A1 に何かが入力されると、現在の日付と時刻が B1 に挿入され、後で更新されることはありません。
- ファイルに移動 - オプション - 数式
マクロの使用
- Alt+F11を押してVBAエディタを開きます
- データが必要なワークシートの名前をダブルクリックすると、そのシートのコードモジュールが開きます。
- 次のコードを入力してください:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1) = Evaluate("now()")
End If
End Sub
このコードは、列 A のセルが入力されるたびに、列 B の対応する行に now() を入力します。