Запрет на округление при преобразовании числа в текст - PullRequest
0 голосов
/ 08 января 2019

Я хотел бы преобразовать два столбца чисел (содержащих как целые, так и нецелые числа) в текст и поместить их в третий столбец, называемый «диапазон».

Ожидаемый результат:
expected

Фактический результат:
actual

Проблема в том, что когда я конвертирую его в текст, значения округляются. Чтобы сделать это преобразование, я использую следующую функцию для преобразования их в текст.

C2 =TEXT(A2,"0")&"-"&TEXT(B2,"0")  

и это дает мне округленные значения.

Кто-нибудь знает, как это преодолеть?

  • Я не могу изменить форматирование столбца, чтобы увеличить количество десятичных разрядов, поскольку у меня были бы ненужные нули. например, я хочу 7 вместо 7,0

  • Я попытался изменить функцию на
    C2 =TEXT(A2,"##.#")&"-"&TEXT(B2,"##.#"), это помогает не округлять искомый текст. Однако это также добавляет дополнительный «.» десятичная точка после целых чисел. Например, 7. или 20. И я не знаю, как избавиться от лишнего десятичного знака.

Очень новичок в этом, любая помощь будет оценена. Откройте, чтобы попробовать макросы.

1 Ответ

0 голосов
/ 08 января 2019

Вам не нужен код VBA для этого. Попробуйте это

Проверьте, имеет ли ячейка десятичную или нет. Вы можете сделать это =INT(A1)=A1. Включая его в формулу =IF(INT(A2)=A2,TEXT(A2,"0"),TEXT(A2,"0.0")). Аналогично для 2-й ячейки

=IF(INT(A2)=A2,TEXT(A2,"0"),TEXT(A2,"0.0")) & "-" & IF(INT(B2)=B2,TEXT(B2,"0"),TEXT(B2,"0.0"))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...