【问题标题】:Format numbers as billions / millions / thousands, smartly [duplicate]巧妙地将数字格式化为十亿/百万/千[重复]
【发布时间】:2015-05-11 22:25:22
【问题描述】:

是否有任何“智能”数字格式公式的配方,它是“规模感知”的,类似于 Rails ActionView 的 distance_of_time_in_words 方法?

我希望输入如下数字:1,816,724 并看到 1.8M(或输入 2,394 并看到 2.4K)。

【问题讨论】:

  • 你只想要 K 和 M?

标签: excel numbers format google-sheets excel-formula


【解决方案1】:

要在 Google 电子表格或 Excel 中使用十亿/百万/千有条件地格式化,您可以使用:

[<999950]0.0,"K";[<999950000]0.0,,"M";0.0,,,"B"

要在 Google 表格中应用此设置,请转到 Format &gt; Number &gt; Custom Number Format 并复制粘贴上述格式字符串。

要了解有关格式选项的更多信息,请转至https://support.google.com/docs/answer/56470#zippy=%2Ccustom-number-formatting

【讨论】:

  • [&lt;999950]0.0, "K" [$€-1];[&lt;999950000]0.0,, "M" [$€-1];0.0,,, "B" [$€-1] ;@ 有所改进
【解决方案2】:

选择要接收自定义数字格式的单元格,然后点击 Ctrl+1。当 Format Cells 对话框打开时,转到 Number 选项卡并从左侧的列表中选择 Custom。为 Type 提供以下内容:,

[>999999]0.0,,\M;[>999]0.0,K;0

请注意,M 是格式掩码中的保留字符,必须使用反斜杠转义才能变为文字。您也可以将其用引号括起来,但由于我在 VBA 的.NumberFormat property 中使用自定义数字格式,因此我更喜欢转义字符以避免处理带引号的字符串中的引号。您的结果应类似于以下内容:

        

【讨论】:

    【解决方案3】:

    你可以简单地试试这个:

    =IF(A1<1000,A1,IF(A1<1000000,ROUND(A1/1000,1)&"K",ROUND(A1/1000000,1)&"M"))
    

    假设你的号码在A1中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-14
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      相关资源
      最近更新 更多