Google SheetsFormat насчитывает миллиарды / миллионы / тысячи - PullRequest
1 голос
/ 29 января 2020

У меня есть этот шаблон формата для чисел:

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

Example

Но как мне сделать так, чтобы нули отображались как "-"?

Ответы [ 2 ]

1 голос
/ 29 января 2020

Я не думаю, что вы можете:

Условия могут быть применены только к первым двум подформатам, и если число соответствует более чем одному, оно будет использовать первое, которое ему соответствует. Если существует третий формат, он будет использоваться для «всего остального», в противном случае, если число не соответствует ни одному из форматов, оно будет отображаться как все «#», заполняющие ширину ячейки. Четвертый формат всегда используется для текста, если он существует.

Источник: https://developers.google.com/sheets/api/guides/formats#meta_instructions

1 голос
/ 29 января 2020

Могу предложить, что вы ищете что-то подобное

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

enter image description here

Обновлено

As @ Benoît Wéry сказал, что это невозможно. Но я думаю, что вы можете.

Я использую простой скрипт для создания хорошего вида

enter image description here

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;
      });
    })
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...