Excel:格式化数字 - 缩短数字/删除数字

Posted

技术标签:

【中文标题】Excel:格式化数字 - 缩短数字/删除数字【英文标题】:Excel: Formatting Number - Shorten the Number / Delete Digits 【发布时间】:2014-09-30 10:50:39 【问题描述】:

在 Excel 中,您可以格式化数字以满足货币或日期等特定需求:

http://office.microsoft.com/en-us/excel-help/number-format-codes-HP005198679.aspx

我阅读了在线帮助和其他资源,但没有找到解决问题的方法:

我的数字看起来像:

2014.13
2014.14
2014.15

或者我可以让它们看起来像

201413
201414
201415

我正在寻找一种去除前 4 位数字的数字格式,以便结果看起来像

13
14
15

这甚至可以用数字格式吗?我知道如何使用普通公式,但我需要使用数字格式。

更新

感谢您的建议。我无法使用单元格和公式,因为我使用数字作为 xy 图表的 x 轴的值。

数字是年 + 日历周。但我不想在图表中有这么长的数字作为刻度标签,我只想显示 kalenderweek。 Excel 提供了格式化 x 轴值的可能性,但我不能应用像 right() 这样的普通公式。

【问题讨论】:

没有。这是一个数字。在我的帖子中,我使用了国际公约。这是一个正常的数字。我只是使用德语 Excel 版本并使用德语十进制约定。但这对于这个问题并不重要。但你问的很好。 好主意。但我需要 2014 年才能获得正确的订单。我还有更多(这是年 + 日历周):例如 2013.12 和 2014.12。我需要 2013 年才能使用 XY 图表中的数字。 @ManuelKuehner 我不相信内置数字格式是可能的。如果可以接受将值转换为字符串,则可以通过将前五个字符的字体颜色格式化为与内部颜色相同来“删除”前五个字符。这可以使用宏来完成。 @ManuelKuehner 另一种选择是隐藏其中包含完整数字的列,并在相邻列中使用 =MOD(A1,1)*100 或 RIGHT(A1,2) 之类的公式用于“展示” 【参考方案1】:

要删除前四位数字,您可以尝试以下操作:-

=RIGHT(CELL_VALUE,2)

这将给你从右边 2 位数字,从而从左边删除 4 位数字。

【讨论】:

谢谢。我需要使用数字格式而不是单元格中的公式来执行此操作。我添加了一个屏幕截图以使其清楚。【参考方案2】:

选择您要格式化的单元格并运行这个小宏:

Sub HideCharacters()
    Dim D As String
    D = Chr(34)
    For Each r In Selection
        r.Value = Chr(39) & r.Value
        r.NumberFormat = ";;;" & D & Right(r.Value, 2) & D
    Next r
End Sub

【讨论】:

以上是关于Excel:格式化数字 - 缩短数字/删除数字的主要内容,如果未能解决你的问题,请参考以下文章

怎样把excel中所有以文本形式存储的数字转换为数字啊???

为啥excel日期格式会变成数字

Excel中灵活运用运算(乘)快速将文本格式批量改为数字格式

Excel表格自定义数字格式如何设置

为啥excel日期会变成数字

在Excel里,日期为啥变成了数字