Отображать десятичные дроби только в том случае, если ячейка отображается при отображении пользовательского текста в Excel

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

---------------------------
|Cell value | Cell result |
---------------------------
|2          | 2 kg        |
|1.43       | 1.43 kg     |
|9.5764     | 9.58 kg     |
|3.2        | 3.2 kg      |
---------------------------

В принципе,

  • Я хочу, чтобы они всегда показывали "кг" после введенного значения.
  • Любое введенное десятичное значение должно быть округлено до 2 десятичных знаков; если нет десятичных разрядов, он покажет целое число.

Я отформатировал ячейки 0" kg"так что всегда показывают килограммы.

Что касается отображения только десятичных знаков, если необходимо, я использовал формулу =ROUND(X, 2) в каждой ячейке показывать только два знака после запятой (X - это значение, которое я ввожу).

Вопрос: Однако, когда я печатаю =ROUND(2.5, 2) это отображает 3 kg вместо 2.5 kg, Почему это? У вас есть другие возможные решения?

Редактировать 1

Я изменил форматирование ячейки на 0.##" kg" и это работает так, как я хочу. Теперь проблема в том, если я использую =ROUND(10, 2) это отображает 10. kg с этим дополнительным пунктом сразу после номера.

2 ответа

Решение

С числами в столбце A используйте функцию Round() в столбце B, а затем отформатируйте в пользовательском формате "General k\g". Посмотреть скриншот

/image s/5ddeb1c32646dfc9f7c934d63c84b9b50cd13817.png

Одно из возможных решений основано на том, что я понимаю ваше требование. Используйте ИСПРАВЛЕННУЮ функцию, чтобы сначала округлить ее до 2 десятичных знаков и проверить последние три цифры, если.00 использовать только целую часть, и объединить с "кг", если последняя цифра равна нулю, округлить до 1 десятичного знака, а округлить до двух десятичных знаков

Предполагая, что ваши данные в столбце B, попробуйте эту формулу в столбце C

=IF(RIGHT(FIXED(B1,2),3)=".00",CONCATENATE(INT(B1)," kg"),IF(RIGHT(FIXED(B1,2),1)="0",CONCATENATE(FIXED(B1,1)," kg"),CONCATENATE(FIXED(B1,2)," kg")))

Другие вопросы по тегам