Как в Excel выполнить пользовательское форматирование чисел, чтобы в начале чисел были пробелы?

Как в Excel выполнить пользовательское форматирование чисел, чтобы в начале чисел были пробелы?

Мне нужно использовать пользовательское форматирование чисел или что-то подобное, что создаст настоящие пустые места, а НЕ просто заставит их выглядеть по-другому в ячейках Excel. Это потому, что я на самом деле использую библиотеку, которая реализует функциональность Excel, называемую SpreadsheetGear, и мой конечный вывод — это строка.

Вот чего я хочу:

Если число состоит из 6 цифр или меньше, я бы хотел, чтобы оно имело такой формат:

$  xxx,xxx
$   xx,xxx
$    x,xxx
$      xxx
$       xx
$        x

Как показано выше, между «$» и первой цифрой 6-значного числа будет 2 пробела, между «$» и первой цифрой 5-значного числа — 3 пробела и т. д.

Другими словами, длина символов числа всегда будет одинаковой для чисел с цифрами 6 и менее.

Для чисел, содержащих более 6 цифр, используется обычное форматирование чисел с запятыми.

решение1

Если вы не против сохранить отформатированную версию в отдельном столбце и как строку, а не число, вы можете использовать (предполагая, что значение находится в ячейке A1):

="$"&REPT(" ", 9-LEN(TEXT(A1,"#,##0")))&TEXT(A1,"#,##0")

Результаты, отформатированные таким образом, будут выглядеть лучше всего с фиксированной шириной шрифта.

решение2

Вы можете использовать условное форматирование, как связал techie007, в сочетании с пользовательским форматированием.

Например, выберите диапазон ячеек и выберите опцию «Выделить правила ячеек» > «Меньше чем...».

Введите 10000000(максимальное 6-значное число — 999 999) в качестве условия, а в качестве форматирования укажите «Пользовательский».

В появившемся диалоговом окне перейдите в раздел Форматирование чисел, Пользовательское форматирование и используйте $* #,##0.

решение3

То, что вы ищете, это «синтаксис повторения символов».
Вы ставите звездочку ( *) и пробел между знаком доллара ( $) и форматом числа, чтобы получить доллар слева, а число справа (пробел — это повторяющийся символ).

"$* 0" or "$* #,##0"

Это также отлично подходит для форматирования дат. Месяц слева и дата справа будут:

"mmmm* d"

решение4

Создайте 6 условных форматов, которые выглядят следующим образом:

Диалог условного форматирования

Последний условный формат не виден на скриншоте, просто добавьте ноль.

Установите для них следующие пользовательские форматы чисел, следуя этому порядку сверху вниз:

$_0_0_0_0_0_0_0_,#
$_0_0_0_0_0_0_,#
$_0_0_0_0_0_,#
$_0_0_0_0#,###
$_0_0_0#,###
$_0_0#,###

Первые три также отводят место для отсутствующей запятой.

Окончательный результат:

Результаты Excel

Связанный контент