Excel中自定义格式正数和负数

Excel中自定义格式正数和负数

我在 Excel 中有一个数字格式,可以将 3,105,245 四舍五入为 310 万美元,将 34,235 四舍五入为 34K 美元。

[>=1000000]$0.0,,"M";[>=1000]$0,"K";0

这很有效,但当数字为负数时除外,我想要除负数之外的相同格式。上面的数字格式仅适用于正数。我需要一种既适用于正数又适用于负数的数字格式。

我了解条件格式,但如果可能的话,我只想使用数字格式,原因解释起来可能要花很长时间。

答案1

我已经阅读了所有内容,据我所知,您的要求是不可能的。条件格式仅限于两个条件语句(来源来源)。

这并不意味着您不能按照自己想要的方式进行显示,而是需要采取更复杂的路线,这需要您将以下内容放在另一列中。

=CONCATENATE(如果(A1<0,"-$","$"),如果(ABS(A1)>=1000000,FIXED(ABS(A1)/1000000,1),如果(ABS(A1)>=1000,ABS(A1)/1000,ABS(A1))),如果(ABS(A1)>=1000000,"M",如果(ABS(A1)>=1000,"K","")))

更加美观的版本(所有这些都串在一个单元格中,没有回车符)

=CONCATENATE(如果(A1<0,"-$","$"),如果(ABS(A1)>=1000000,FIXED(ABS(A1)/1000000,1),如果(ABS(A1)>=1000,ABS(A1)/1000,ABS(A1))),如果(ABS(A1)>=1000000,"M",如果(ABS(A1)>=1000,"K","")))

这个公式块的作用就是你希望条件格式执行的操作。它假设你想要“格式化”的值位于单元格 A1 中。你可以根据需要调整引用以适合你的电子表格。

我意识到这种方法不能以您想要的方式解决问题。根据您无法使用条件格式的原因,这种方法也可能无法使用。在不了解全部细节的情况下,我真的不知道这种方法是否适合您。如果您担心重复数据被查看,您可以随时隐藏一列。

[编辑]

图表则不同,因为你必须使用宏来让它做真正疯狂的事情。我遇到了这一页包含一些有关如何设置的有用信息。查看“任意轴刻度”页面,其中提到第三者有一个免费的 Excel 插件可能会起到作用。我还没有测试过,但它似乎应该允许您更改轴刻度以显示正确的值(假设您使用的是折线图)。

如果您使用的是条形图、饼图或专用图表。您可能必须将图表转换为图片,然后根据需要添加自定义标签。这不是我要走的路,但可能是您唯一的选择。

[编辑]

我希望这有帮助。

答案2

您可以根据输入数字的符号创建自己的 Worksheet_Change 子程序来更改单元格格式。

答案3

根据您的描述,您似乎受到条件格式数量的限制,而不是根本无法使用它们(除非我误解了)

您可以使用两种自定义格式(类似于您已有的格式),但分别用于正数和负数,并使用条件格式将负数切换到负数版本,因此在一种条件下,您可以在百万、千、小数、正数和负数形式的 6 种格式之间切换。

相关内容