【问题标题】:Google sheetsFormat numbers as billions / millions / thousands, smartly [duplicate]谷歌表格将数字格式化为十亿/百万/数千,巧妙地[重复]
【发布时间】:2020-01-29 13:08:58
【问题描述】:

我有这个数字模板格式:

[>=999950]0.0,,"M";[<=-999950]0.0,,"M";0.0,"K"

但是我怎样才能让 Zeros 显示为“-”?

【问题讨论】:

    标签: google-sheets


    【解决方案1】:

    我认为你不能:

    条件只能应用于前两个子格式,如果一个数字匹配多个,它将​​使用它匹配的第一个。如果有第三种格式,它将用于“其他所有”,否则如果数字与任何一种格式都不匹配,它将被渲染为所有“#”填充单元格宽度。第四种格式始终用于文本(如果存在)。

    来源:https://developers.google.com/sheets/api/guides/formats#meta_instructions

    【讨论】:

      【解决方案2】:

      我可以建议你寻找这样的东西

      [>=999950]0.0,,"M";[<=-999950]0.0,,"M";#,,"-"
      

      更新

      正如@Benoît Wéry 所说,这是不可能的。但我认为你可以。

      我正在使用一个简单的脚本来构建一个好的视图

      function formatToMKZeros(range) {
        var values = range.getValues();
        return range.setNumberFormats(
          range.getNumberFormats().map(function(row, r) {
            return row.map(function(format, c) {
              return isNumeric(values[r][c])
                ? values[r][c] !== 0 && Math.abs(values[r][c]) < 999950
                  ? '[<999950]0.0,"K";[>-999950]0.0,"K"'
                  : '[>=999950]0.0,,"M";[<=-999950]0.0,,"M";#,,"-"'
                : format;
            });
          })
        );
      }
      

      【讨论】:

      • 是的,但我仍然需要显示 K 值,用于正值和负值
      猜你喜欢
      • 1970-01-01
      • 2021-12-14
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      相关资源
      最近更新 更多