这个可以用公式在另一列中得出。
假设数据写在A列,从A1单元格开始的数据,则
可以在B1单元格写入公式
公式一
=IF(A1="","",IF(A1<0,,A1))
公式的意思是如果A1单元格为空单元格,则返回空值,如果A1单元格不是空单元格,那么A1如果小于0,那么公式返回0值,如果A1单元格不是空单元格,也不小于0,那么公式返回A1单元格的内容。
公式二
=IF(A1="","",MAX(A1,))
公式的意思是如果A1单元格为空单元格,公式返回空值,否则返回A1单元格与0两个值中的最大值。
两个公式任选一个,再下拉填充公式
Sub test()
Dim rg As Range
For Each rg In Range("A1:A10000")
If rg < 0 Then rg = 0
Next
End Sub
这段代码方便快捷把A1:A10000单元格区域中的负数归零.
ALT+F11打开代码窗口,粘贴这段代码
回到EXCEL窗体,
ALT+F8,执行这段代码
1秒都不需要
选定要变化的区域,单击右键---设置单元格格式----自定义 输入: G/通用格式;"0"
数字在A列,增加一辅助列,公式:=IF(A1="","",IF(A1<0,0,A1)),然后用选择性粘贴——数值,然后用B列替代A列即可。
你可以用查找替换来实现 你ctrl+h 你在查找里输入-*(负号和*号)在替换里输入0全部替换就可以了
为了避免你其它不是数据格式中的单元格的1-2-3这种的替换了你把替换对话框里那个选项打开把那个单元格匹配打上对勾就可以了