%20%D0%B2%20Excel.png)
Я пытаюсь имитировать способ, которым "общая" ячейка показывает десятичную точку только при наличии десятичных знаков, но мне нужны разделители тысяч, которые "общая" не предоставляет. Я использую пользовательскую строку формата чисел в отчете SSRS: #,##0.######
. Когда отчет экспортируется в Excel, строка формата отображается как [$-en-US,1]#,##0.######
. Удаление спецификации локали не решает мою проблему.
Это работает, за исключением одного: Excel всегда отображает десятичную точку, даже если нет знаков после запятой. Учитывая значение 1000.1
, он отображает 1,000.1
то, что я и предполагал. Но учитывая значение 10
, он отображает 10.
вместо 10
.
Возможно ли достичь того, чего я хочу?
Я создал файл .xlsx со строкой формата #,0.###
в двух ячейках. Вот как этот же файл выглядит в Excel и Calc:
решение1
Вы можете использовать условный формат, который использует, #,0
когда значение является целым числом. Сначала установите ячейки для использования формата #,0.######
, а затем добавьте условный формат на основе формулы и используйте, =MOD(A1, 1) = 0
где A1 — первая ячейка в диапазоне. За исключением любых странных ошибок округления, он вернет, TRUE
когда число не имеет дроби и FALSE
в противном случае.