6

Я не знаю много о правилах пользовательского форматирования чисел в Excel, и мне нужно узнать больше. Когда я открываю соответствующее окно (Format Cells > Numbers > Custom), появляется несколько предопределенных форматов, состоящих из различных символов. Например:

_-* #.##0,00 TL_-;-* #.##0,00 TL_-;_-* "-"?? TL_-;_-@_-

Что означает каждый из этих символов?

Есть также конкретная проблема, которую я хочу достичь. Я хочу поставить знак плюс перед числом, если оно положительное, и знак минус, если оно отрицательное. Как я могу сделать это путем пользовательского форматирования чисел?

3 ответа3

5

Числовые форматы могут содержать не более 4 разделов; (точка с запятой)

Они являются ПОЛОЖИТЕЛЬНЫМИ; ОТРИЦАТЕЛЬНЫМИ; НУЛЬНЫМИ; ТЕКСТОВЫМИ соответственно.

If the number is positive, first format is applied,  
else if negative the second,  
else if 0 the third,  
else it's considered as text and the last formatting is applied. 

Вам не нужно указывать все четыре из них.
Если указан только 1 формат, он используется для каждого номера.
Если указано только 2 формата, первая часть используется для положительных значений и нулей, а вторая часть используется для отрицательных значений.

Если вы хотите пропустить некоторые части, просто используйте точку с запятой для каждой и определите следующую часть (и) после нее (них).

Очевидно, ваше форматирование имеет все 4 раздела.

_-* #.##0,00 TL_- for example this is for positives. 

Так как ваш Excel использует турецкое форматирование

. (dot) is used as thousands separator and 
, (comma) is used for percentages.  

Таким образом, если кто-то написал 10000 1/2, ваше форматирование покажет его как 10.000,50 TL, т.е. десять тысяч турецких лир и 50 куруш.

Другие спецификаторы формата в вашем коде имеют следующие значения:

# Digit placeholder, skips insignificant 0s  
0 Digit placeholder, adds extra insignificant 0s to fill the format  
? Digit placeholder, adds spaces for insignificant 0s to align decimals  
@ Text placeholder  
_ Skips the width of the next character, generally used to align positive numbers with the negatives when negative numbers use a - (minus sign) or parentheses. 
* Repeats the next character to fill the column width

Поэтому ПОЗИТИВНО _-* #.##0,00 TL_-; часть вашего кода может быть прочитана как:

  • _- пропустить ширину знака минус
  • *(space) повторять пробелы до заполнения столбца
  • #.##0,00 TL использовать . в качестве разделителя тысяч и , качестве разделителя процентов, удалите их, если любой 0z записан перед первой цифрой. После того, как запятая принимает только две цифры, удалите, если используется более двух, заполните их нулями, если используется менее двух цифр, наконец добавьте TL и еще раз пропустите ширину - .

Ваш код уже отображается - до отрицательных цифр, поэтому, если вы хотите добавить + перед положительными значениями, просто добавьте + перед первым # в положительной части вашего кода.

4

точки с запятой - это разделители для каждого конкретного критерия - первая для положительных чисел, вторая для отрицательных чисел, третья для нулей и последняя для текстовых значений.

Я хочу поставить знак плюс перед числом, если оно положительное, и знак минус, если оно отрицательное. Как я могу сделать это путем пользовательского форматирования чисел?

+?#,###,###,###.00;-?#,###,###,###.00

Должны достичь того, что вы ищете, принимая тысячи в качестве оператора группы.

Каждый символ говорит Excel, что делать

? - Заполнитель - означает оставить пробелы для ведущих нулей, но не отображать их

0 - заполнитель - означает явное отображение начальных нулей в соответствии с форматом

* - Повторите символ рядом с ним

+ - дисплей + знак

- - показать отрицательный знак

Вы даже можете добавить условия к вышеперечисленному или добавить цвета (показать негативы красным цветом и др.) - дополнительная документация доступна здесь.

1

Официальная статья с практическими рекомендациями на самом деле довольно хорошая и содержит несколько примеров. В статье есть решения для десятка хороших случаев, когда вы хотите использовать числовые форматы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .