如何使用 Excel 自动将某一行中输入的所有数字变为负数?

如何使用 Excel 自动将某一行中输入的所有数字变为负数?

我正在制作一个简单的现金流,并想设置一个流出列,这样它会自动将该列中输入的任何数字变为负数。我该怎么做?

答案1

这里有三种可能性:
1. 与 -1 相乘
2. 格式化为减号 (-)
3. ABS() 函数

方法 1:乘以 -1
1. 照常输入数字,完成所有输入后,执行以下操作:
2. 转到任何其他空单元格,键入-1并复制它,现在选择要设为负数的整个列。
3. 右键单击​​选择并选择Paste Special..
4. 选择AllMultiply单击确定,如下图所示:现在所有选定的单元格都将为负数。-1现在删除您复制的单元格值。

在此处输入图片描述


方法 2:格式化为减号 (-) (这种方法在我们眼中只会在单元格中显示为负数,但在公式栏中减号不会显示并且也会被视为正数)


1. 通过单击列标题选择要为负值的整个列。
2. MAC 用户按住Command键并单击任意单元格(带选择),WINDOWS 用户右键单击,然后单击Format cells在上下文菜单中。3
. 单击Number选项卡,点击风俗选项,在右侧,Type文本框选择General,并且在Type文本框中,输入减号,如下所示:-General然后单击“确定”。
在此处输入图片描述


方法 3:使用 ABS
1. 为正值分配单独的列(这是输入正值的地方),并为负值分配另一列(此列/单元格仅具有ABS以下公式)
2. 如果E1必须有负值,则选择任意列/单元格,比如说D1
3。输入E14.=-ABS(D1)
现在,无论您在单元格中输入什么值D1,单元格中的相同值都将为负数E1
5. 将您输入的公式复制到所有单元格范围,例如从E1E50
6。完成所有操作后,您可以隐藏D包含D1正值的列。

注意:正值将从到D1D50负值将从到E1E50如上例所示

答案2

在我看来,您可能希望自动将单元格内容转换为负值,而不仅仅是显示不同的格式。

我会使用 VBA 来实现这一点。将此代码放在相关工作表上

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then 'Column A
        If Len(Target.Value) > 0 Then
          If IsNumeric(Target.Value) Then
             Target.Value = -1 * Abs(Target.Value)
          End If
        End If
    End If
    Target.Parent.Calculate
End Sub

答案3

如果您只是想确保只输入负数,您可以执行以下操作:

  1. 选择单元格
  2. 转到“数据”选项卡并选择“数据验证”按钮。
  3. 再次选择数据验证作为格式。
  4. 对于值,请选择“十进制”,因为您使用的是货币格式。
  5. 对于数据,选择“小于”
  6. 对于最大值,选择“1”甚至“.01”。

当您尝试输入正数时,这将停止处理并弹出错误警报,提示您输入负数或零。

答案4

我格式化了单元格。

  1. 突出显示您想要负数的单元格(我选中了整列)
  2. 右键点击
  3. 格式化单元格
  4. 我选择了数字并选择我想要的负面格式
  5. 然后选择风俗
  6. 并且显示 0.00_ ;[红色]-0.00 (是我想要的样子)在第一个 0.00 -0.00_ ;[红色]-0.00 之前添加一个 -

我在这些栏中输入的任何内容结果都是负面的。

相关内容