Как я могу отформатировать десятичные разряды на основе значений? - PullRequest
3 голосов
/ 23 сентября 2019

Как мне отформатировать число в Excel, чтобы, если оно представляло собой целое число с десятичной дробью, оно переходило на 10-е, а если оно не имеет целого числа, оно переходило на 100-е?

Пример:

0.08 -> 0.08
0.02 -> 0.02
1.66 -> 1.6
2.55 -> 2.5
2.89 - > 2.8
3.66 -> 3.6
5 -> 5
8 -> 8

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

До сих пор формула, предоставленная JvdV, работает

=IF(A1-INT(A1)>0.1,ROUNDDOWN(A1,1),A1)

, но ее необходимо настроить для следующего:

1) Мне нужно что-нибудь с 0.1, чтобы содержать его первоначальное значение.При использовании приведенной выше формулы это значение изменяется от 0,15 до 0,10.

Пример:

0.11 -> 0.11
0.15 -> 0.15
0.16 -> 0.16
0.19 -> 0.19

2) Формула должна округляться от 0,01 до 0,09 только тогда, когда перед ними целое числоиз них.

Пример:

0.01 - > 0.01
0.07 -> 0.07
0.09 -> 0.09
0.99 -> 0.99
1 -> 1
1.01 -> 1.1
1.02 -> 1.1
1.04 -> 1.1
1.05 -> 1.1
1.06 -> 1.1
1.07 -> 1.1
1.08 -> 1.1
1.09 -> 1.1
2.01 -> 2.1
2.04 -> 2.1
3.03 -> 3.1
3.09 -> 3.1

Это сложно, потому что 0.01 должен быть отформатирован как 0.01.0.02 должно быть отформатировано как 0.02 и т. Д. В настоящее время формула делает это, но не округляет для целых чисел.

Ответы [ 4 ]

4 голосов
/ 24 сентября 2019

Я думаю, что-то вроде этого может работать:

=IF(A1-INT(A1)>0.1,ROUNDDOWN(A1,1),A1)

После вашего отредактированного вопроса мой отредактированный ответ будет выглядеть так:

=IF(A1>1,IF(A1-INT(A1)>0.1,ROUNDDOWN(A1,1),ROUNDUP(A1,1)),A1)
2 голосов
/ 24 сентября 2019

Еще один вариант формулы:

=ROUNDDOWN(A1,(MOD(A1,1)>0)+(INT(A1)=0))

enter image description here

2 голосов
/ 24 сентября 2019

Вы можете использовать эту формулу:

=IF((INT(A1)=A1)=FALSE,IF(AND(A1>0,A1<1),TRUNC(A1,2),TRUNC(A1,1)),A1)

enter image description here

0 голосов
/ 24 сентября 2019

Если у вас все в порядке с целыми числами , также показывающими 1 десятичный знак (поэтому 5 -> 5.0), тогда вы можете использовать пользовательский формат чисел (есть также способы использовать этот метод, чтобы скрытьдесятичное число на целое число, но для этого также потребуется использование условного форматирования).

Выберите диапазон, который вы хотите отформатировать, затем щелкните правой кнопкой мыши.Нажмите Формат ячеек , затем выберите категорию Пользов. .

Введите это в поле «Тип»:

[<1]0.00;0.0

Плюсы:

  • Не требуется вспомогательный столбец
  • Сохраняет исходное значение ячейки. (Если это нежелательно, то вы можете просто округлить или усечь число. Но для этого потребуется формула [следовательно, столбец помощника] или, возможно, VBA)

Минусы:

  • Будет форматировать целое число с помощью .0.Итак 5 -> 5.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...