条件自引用公式(仅在单元格值==“”时执行)

这里是我执行excel公式的问题。

这些是要求:

  • 我在Excel表中有几行。
  • 在每行的末尾有一个名为“月”的字段。
  • 如果有人在这一行input新值,则应插入当前月份。
  • 如果值被修改,则不得更改该月份。

为了包含当前的月份,我使用这样的一些公式(A10只是一个随机的字段,将被填充):

=IF(A10<>0; MONTH(NOW()); "") 

现在我需要一些条件来检查字段是否包含一个月份,如果是这样的话,什么都不做。 我试过以下(A15应该包含月份):

 =IF(A15 <> ""; IF(A10<>0; MONTH(NOW()); "") ; ) 

要决定字段是否应该由公式更改,我必须检查其当前值。 问题是,这最终会以循环的方式提到这个领域本身。

有没有人有这种问题的工作解决scheme? 我尽量不要在那里使用任何VBA代码。

你不能用公式来做,你必须使用VBA。 该公式不能引用自己。

另一个问题是现在每次重新计算都会改变。 所以即使用你的第一个公式,这个月也不会保持不变。

如果您决定可以使用VBA,请右键单击工作表选项卡并select查看代码。 你需要的代码看起来像这样

 Private Sub Worksheet_Change(ByVal Target As Range) 'We only care if cells are changed in a certain range If Not Intersect(Target, Me.Range("A1:G10")) Is Nothing Then 'Only do this if there's nothing in row 15 for whatever column 'was changed If IsEmpty(Me.Cells(15, Target.Column).Value) Then 'Put the month in row 15 of the current column Me.Cells(15, Target.Column).Value = Month(Now) End If End If End Sub