@Mercury13
Программист на «си с крестами» и не только

Может ли Excel форматировать числа до 2 знаков и корректно обрабатывать целые?

Нужен такой формат для Excel, чтобы…
12 → «12»
12,3 → «12,3»
12,34 → «12,34»
12,345 → «12,35»
Прямое «0.##» не годится: форматирует 12 как «12,», с лишней десятичной запятой.
Причём LOo форматирует правильно!
Или я прошу невозможное и это стандартный глюк Ёкселя?
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
honor8
@honor8
Принципы быстродействия VBA в описании
Собрал воедино опыт коллег и пришёл к выводу, что задача без макросов решается только условным форматированием. Чтобы использовать относительные ссылки на ячейки, и не нагружать пересчётом формул Excel, старайтесь задать минимальную область для условного форматирования.
  1. Выделяем диапазон ячеек (или столбцов), где необходимо изменить числовой формат
  2. Главная (меню) -> Условное форматирование -> Создать правило...
  3. Выбрать пункт "Форматировать только ячейки, которые содержат"
  4. Первый выпадающий список "Значение ячейки" - не изменять
  5. Во втором выпадающем списке выбрать "больше"
  6. В последнем поле необходимо ввести формулу =ЦЕЛОЕ(ДВССЫЛ("RC";ЛОЖЬ))
  7. Нажать на кнопку "Формат"; задать необходимый формат числа 0,0#
  8. Нажать 2 раза кнопку OK.


Если лень щёлкать мышью, после выделения можно воспользоваться макросом:
With Selection.FormatConditions.Add(Type:=xlCellValue, _
  Operator:=xlGreater, Formula1:="=ЦЕЛОЕ(ДВССЫЛ(""RC"";ЛОЖЬ))")
  '3456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
  .StopIfTrue = False: .SetFirstPriority: .NumberFormat = "0,0#"
End With
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
zamboga
@zamboga
Бизнес-аналитика, фин. моделирование, дашборды
Что-то вы не там ковыряетесь.

Формат ячеек - числовой - ставите необходимое число для математического округления.
5b05c830da9c5142438185.jpeg

Или панель "главная" - там выбираете формат "числовой" и жмёте кнопку с 00, выбирая местоположение разделителя
Ответ написан
@shushpanio
shushpanio
Хоть ответ уже дали предложу свой вариант.
Привожу пример для чисел взятых из столбца А. Результат в столбце В.
Столбец С сделал как проверку что с результатом в дальнейшем можно выполнять математические действия.

Итак для В2 имеем формулу =ЕСЛИ(ОСТАТ(ОКРУГЛ(A2;2);1)=0;ТЕКСТ(A2;"0");ТЕКСТ(A2;"0,00"))

Думаю если что вы сможете адаптировать её под себя

Пример решения:

5b07ae7e00f5a266619407.jpeg
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы