В Google Sheets я хочу выравнивать десятичные числа без добавления конечных нулей в дробной части.
Instead of: I want:
+------+ +------+
| 56.0| | 56 |
| 27.0| | 27 |
| 83.0| | 83 |
| 2.4| | 2.4|
| 1.2| | 1.2|
| 120.0| | 120 |
+------+ +------+
Формат первого столбца легко достигается (например, используя формат «0.0» или просто устанавливая пользовательские десятичные точки под кнопкой 123).
Я полагаю, что в Excel формат второго столбца выполняется с использованием формата «0.?», Но на момент написания статьи он не работал в Google Sheets.
Временное решение
Можно принудительно использовать конечные символы с помощью команды «Заменить»:
= Substitute( Text( formula ; "0.0" ) ; ".0" ; " ")
= Substitute( Text( formula ; "0.0" ) ; ".0" ; "__" )
Примечание: два замещенных пробельных символа - не U + 0020 SPACE, а U + 2002 EN SPACE . ( U + 00A0 NO-BREAK SPACE также работает.)
Некоторые нежелательные побочные эффекты этого обходного пути заключаются в том, что он
- изменяет не только формат отображения, но и значение ячейки
- требует использования моноширинного шрифта в ячейке
- конечный пробел вызывает замену шрифта из-за Unicode и не печатается правильно
- конечные подчеркивания не так желательны, как конечные пробелы
- сбивает с толку сопровождающих, потому что не очевидно, что используется EN SPACE
- (предположительно) терпит неудачу в локалях, которые используют период как разделитель периода (разделитель тысяч) вместо десятичного маркера