2

エクセルの数式があります=IF(NOT(ISBLANK(A2)), TEXT(NOW(), "mm/dd/yyyy HH:ss"),"")

私の問題は次のとおりです。もちろん、このシートを開くたびに、最新のタイムスタンプに関連付けられたセル値が更新されます。このタイムスタンプが既に存在する場合、変更したくありません。

私が欲しいのはどういうわけかです.A2が空白ではなく、最近更新されていない場合は、タイムスタンプを更新しないでください。

可能であればインライン関数を探しています。

ありがとう

4

5 に答える 5

5

これは、VBAマクロを使用して実行できます。

  1. VBAエディターを開きます([ツール]>[マクロ]>[Visual Basicエディター])
  2. 左側で、Sheet1を右クリックし、[コードの表示]を選択します
  3. 以下をエディターにコピーします。

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も削除されます。タイムスタンプは自動的に更新されません。

于 2012-12-10T16:49:21.700 に答える
2

(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)のいずれかが再度編集されない限り、タイムスタンプは自動更新されません。

于 2012-12-11T07:19:33.700 に答える
1

[ファイル] > [オプション] > [数式] > [手動計算を確認] > [保存する前にブックを再計算する] のチェックを外します。必要に応じて、反復を有効にし、上記のように最大反復を 1 に設定します。

于 2016-12-05T18:12:20.407 に答える
0

デフォルトの反復を に変更するだけ1で、停止する前に 1 回再計算されます。

これに行きます:

  1. オフィスボタン
  2. Excel オプション
  3. 数式
  4. 反復
于 2015-10-26T18:52:13.657 に答える