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

---------------------------
|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 ответа2

2

Одно возможное решение, основанное на том, что я понимаю ваше требование. Используйте ИСПРАВЛЕННУЮ функцию, чтобы сначала округлить ее до 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")))

1

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

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