Например, я установил в ячейке 5,555. Когда я меняю количество знаков после запятой на 2, значение меняется на 5,56. Если количество знаков после запятой равно 0, значение в ячейке равно 6. Если я добавляю знаки после запятой, это не меняет значение. Отмена тоже не работает.
Я удалил все макросы и все листы, которые были здесь ранее.
решение1
Проблема была в параметре «Установить точность как на дисплее» (Файл->Параметры->Дополнительно).
http://office.microsoft.com/en-us/excel-help/set-rounding-precision-HA010218870.aspx
решение2
Поскольку в ваших комментариях теперь упоминается решение, это альтернатива, поскольку то, что вы делаете, ожидается по умолчанию.
Другой способ обойти эту проблему — использовать truncate для сокращения значения, что фактически обрабатывает значение как строку, что вы и делаете.
Итак, обновим значение ячейки с 5,555 до
=TRUNC(5.555, 2)
И он обновится до 2 цифр.
Или формула может ссылаться на другую ячейку. Что-то вроде
=TRUNC(a5, 4)
Идея этого в том,
=TRUNC(numberToChange , numberOfDigits)