Excel 如果值小于0,则从单元格中减去值
我希望在Excel表格中有一列数值,如果某个单元格的值小于0,则从另一个单元格的值中减去该负值。例如: D5包含值300 D6包含值5——不能从D5中减去任何值 D7包含值-1——现在减去:D5-D7(或者实际上是D5+(-D7),D5的结果是:299) D8包含值0——无需减法 D9包含值-100——现在减去:D5-D7-D9(D5的结果:300-1-100=199) 等等,等等Excel 如果值小于0,则从单元格中减去值,excel,excel-formula,Excel,Excel Formula,我希望在Excel表格中有一列数值,如果某个单元格的值小于0,则从另一个单元格的值中减去该负值。例如: D5包含值300 D6包含值5——不能从D5中减去任何值 D7包含值-1——现在减去:D5-D7(或者实际上是D5+(-D7),D5的结果是:299) D8包含值0——无需减法 D9包含值-100——现在减去:D5-D7-D9(D5的结果:300-1-100=199) 等等,等等 我怎样才能做到这一点呢?要改变一个值,需要一个nacro。如果我们从以下方面开始: 首先选择单元格D5并运行此短
我怎样才能做到这一点呢?要改变一个值,需要一个nacro。如果我们从以下方面开始: 首先选择单元格D5并运行此短宏:
Sub DecreaseValue()
Dim N As Long, i As Long, M As Long
N = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row
M = ActiveCell.Column
For i = ActiveCell.Row + 1 To N
If Cells(i, M).Value < 0 Then
ActiveCell.Value = ActiveCell.Value + Cells(i, M).Value
End If
Next i
End Sub
Sub-DecreaseValue()
暗N一样长,我一样长,我一样长
N=单元格(Rows.Count,ActiveCell.Column).End(xlUp).Row
M=ActiveCell.Column
对于i=ActiveCell.Row+1到N
如果单元格(i,M).值小于0,则
ActiveCell.Value=ActiveCell.Value+Cells(i,M).Value
如果结束
接下来我
端接头
这将产生:
可以通过使用单独的单元格保存减少的值来避免使用宏。例如,在单元格E5中输入:
=D5+SUMPRODUCT((D6:D9999<0)*(D6:D9999))
=D5+SUMPRODUCT((D6:D9999)您希望结果在自己的单元格中还是要替换现有值???@Gary的学生目标是只更新D5值。因此根据我的示例,当我添加值为-99的D10单元格时,D5的值为100(300-1-100-99=100)。非常感谢!第二个解决方案(使用附加单元格)这正是我需要的。@mchfrnc感谢您的反馈。