如何在 excel 中实现这种自定义数字格式?

Posted

技术标签:

【中文标题】如何在 excel 中实现这种自定义数字格式?【英文标题】:How might I achieve this custon number formatting in excel? 【发布时间】:2020-05-06 18:06:28 【问题描述】:

为了这个例子:

100 copper = 1 silver
100 silver = 1 gold
100 gold = 1 platinum

我有一个代表铜数量的数字,我想对其进行格式化,以便在 Excel 中显示为铂、金、银和铜的数量。例如,“123456789”将显示为“123p 45g 67s 89c”。据我所知,公式本身不是 一个选项,因为我想对多个列进行一些操作,这些操作要求所有内容都在它们的基本铜表示中(例如 - “突出显示 this 单元格,如果其内容比 此其他单元格的 内容高 10%”)。据我所知,如果单元格的内容类似于“2g 4s”,我不能这样做,所以我只想显示这样的内容。

我想一种选择是有公式,其中一个公式将铜值转换为 plat-g​​old-silver-copper,而另一个公式则相反?然后,为了有条件地突出显示某些单元格,我使用了反转?

我们可能能够利用的一点是,铜价数字只能被两位数分开。例如,在 375938457 中,我们知道 57 是铜,84 是银,93 是金,375 是铂。如果其中任何一个值为 00,我们就忽略它们。

...这对于 excel 来说太复杂了吗?随时发布任何补充信息或深入解释。我是非常使用 excel 的新手。 (我也想对毫秒到小时/天/月做同样的事情,这并不像我想的那么简单)。

【问题讨论】:

“我也想对毫秒到小时/天/月做同样的事情,这并不像我想的那么简单。”......你到底想做什么?这几乎听起来像是一个 X-Y 问题。 与所需输出的示例共享您的工作表副本 您是在问如何在excel 或google-sheets 中执行此操作吗?两者之间存在细微差别,有人刚刚编辑了您的问题以删除其中一个标签 @Chronocidal 我个人在 Google 表格中做这件事——到目前为止,我已经能够很容易地将 excel 解决方案适应 Google 表格。如果有人没有查看“Google Sheets”标签而是查看 excel 标签,我会很感激他们的意见,所以我正在寻找两者。 【参考方案1】:
#0"p "00"g "00"s "00"c"

很遗憾,我只能在 Google 表格中进行测试,而不是在 Excel 中

本质上,这只是采用#0000000 的格式(这将给您至少7位数字),并将“p”、“g”、“s”的文本字符串推到中间,然后将“c”推到结束。

在 Excel(而非 Google 表格)中,您还可以将值条件附加到条件格式,例如 [>=5]"Lots";[>=4]"Many";#0,它将数字 1-5 显示为“1、2、3、Many、Lots”

[>=1000000]#0"p "00"g "00"s "00"c";[>=10000]#0"g "00"s "00"c";[>=100]#0"s "00"c";#0"c"

很遗憾,您无法使用格式使多余的 0 在 Platinum 和 Gold、Gold 和 Silver 或 Silver 和 Copper 之间消失。

123456789 将显示为123p 45g 67s 89c,但246480369 将显示为246p 48g 03s 69c 而不是246p 48g 3s 69c

在 Excel 中,当您右键单击单元格并设置其格式(或按 Ctrl+1)时,您可以从底部的“数字格式”中应用此设置。在 Google 表格中,转到格式 > 数字 > 更多格式 > 客户编号格式

到几小时/几天/几个月来做到这一点很容易:

m" months, "d" days, "H" hours, "M" minutes, and "s" seconds"

以毫秒为单位不是。有关数字格式的 Microsoft 官方文档可以找到 here

【讨论】:

完美,先生。谢谢你。 :) 我实际上也可以在那里显示额外的 0。

以上是关于如何在 excel 中实现这种自定义数字格式?的主要内容,如果未能解决你的问题,请参考以下文章

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

EXCEl表格里如何输入自定义格式的日期

如何在Canvas中实现自定义路径动画

如何在Canvas中实现自定义路径动画

如何使用 VB.Net 自定义 Excel

如何在自定义 UIButton 中实现 .isHighlighted 动画?