ada*_*510 7 excel excel-2007 excel-formula
我似乎对Excel有一个相当简单的问题,虽然除了包含一个函数之外我找不到它的解决方案.
基本上我想在两个领域显示价格,一个是美元,一个是美分.
我有这个工作正常,但我有的问题是,当我在美元字段中说"24990.55"时,它将以美元显示"24991",在美分字段显示"55".
有什么办法可以强制Excel 不自动循环吗?
tey*_*lyn 16
如果
A1 = 24990.55
然后
=INT(A1)
将返回24990=MOD(A1,1)
将返回0.55你需要一个函数来切断小数.Int()
会这样做的.Mod()
将仅显示小数点.
我不知道你没有使用函数会有什么行为.只是格式化数字不会改变其基础值.这意味着没有格式只显示整数值而忽略小数而不进行舍入.Excel无法正常工作.格式化为无小数点将始终包括舍入.要解决这个问题,您需要一个函数来切断小数.
如果您希望美分显示为整数,只需将Mod()
结果乘以100即可.
编辑:你谈论上面的功能,但阅读其他回复,我认为你的意思是vba例程,UDF或其他宏.在提问时,您可能希望得到正确的术语.
你真的需要澄清你想要达到的目标.不清楚
只是在没有明确说明您的要求的情况下给予问题赏金并没有多大帮助.
这是另一种方法,基于以下假设:
这可以通过以下更改事件宏来实现:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
Target.Offset(0, 2) = Target - Int(Target)
Target.Offset(0, 1) = (Target - Int(Target)) * 100
Target = Int(Target)
Application.EnableEvents = True
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
右键单击工作表选项卡,单击"查看代码"并将上述代码粘贴到代码窗口中.
当然,实现完全相同的东西,没有功能,没有宏,没有任何VBA的更简单的方法,可以使用与输入单元格中的数字完全相同的键击次数来完成.
比较这两组击键
24990.55
同
24990Tab55
第二组击键将把分数放入他们自己的单元格中,将它们显示为整数.
我非常感谢您对此主题中收到的许多建议的一些反馈.