如何在 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-gold-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 中实现这种自定义数字格式?的主要内容,如果未能解决你的问题,请参考以下文章