Можно ли округлить до разных десятичных знаков в Excel в зависимости от диапазона?

0

Вопрос

Я хочу настроить лист excel, который округлял бы значение до разных десятичных знаков в зависимости от диапазона введенного значения. Я пробовал использовать разные формулы, но безуспешно. На изображении показано требование. Возможно ли достичь этого с помощью вложенных IF? или мне понадобится VB-скрипт или что-то подобное? Может ли кто-нибудь привести мне пример формулы iIF, которую я могу использовать по крайней мере для двух диапазонов, а затем я могу настроить ее для остальных.

enter image description here

excel excel-formula rounding
2021-11-24 04:29:06
4

Лучший ответ

3

Вот пара простых формул, использующих таблицу подстановки:

screenshot

То LookupTable это просто числа из исходной таблицы.

То ResultsTable есть ли эти формулы:

Ближайший: =VLOOKUP([@Sample],LookupTable,2,TRUE)

Результат: =[@Nearest]*ROUND([@Sample]/[@Nearest],0)


Вы даже можете сделать это как единую формулу, вот так:

=LET(Nearest,VLOOKUP(A2,{0,0.05;1,0.1;10,1;40,5;100,10;400,50;1000,100},2,TRUE),Nearest*ROUND(A2/Nearest,0))
2021-11-24 07:12:03

Классная концепция. Голосование...
pgSystemTester
1

Чтобы привести числа к правильному округленному целому числу (против десятичного) в соответствии с запросами вопроса, должно сработать что-то подобное.

=if(A2<=1,MROUND(A2*100,5)/100,if(A2<=10,round(A2,1),if(A2<=40,mround(A2,1),if(A2<=100,MROUND(A2,5),if(A2<=400,mround(A2,10),if(A2<=1000,MROUND(A2,50),mround(A2,100)))))))

Смотрите пример в этой электронной таблице...

Результаты испытаний:

enter image description here

2021-11-24 06:04:45
-1

Попробуйте Это:

Предполагая, что число находится в ячейке A2:

=IF(A2<1,ROUNDUP(A2,2),IF(A2<10,ROUNDUP(A2,1),IF(A2<40,ROUNDUP(A2,0),IF(A2<100,CEILING(A2,5),IF(A2<400,CEILING(A2,10),IF(A2<1000,CEILING(A2,50),CEILING(A2,100)))))))
2021-11-24 06:04:54

Потолок не сработает. Рассмотрим примеры для чисел 41, 1030, 381.
pgSystemTester

В приведенных вами примерах 41 получает результат 45, 1030 получает результат 1100 , а 381 получает результат 390. разве это неправильно? потому что я понял, что 41, например, должен быть округлен до следующих 5??
Abdullah Bayounis

@AbdullahBayounis - В вопросе упоминается только "ближайший", а не "округленный".
Enigmativity
-1

Я истолковал ваш вопрос, основываясь на ваших словах, а не на изображении. Это вполне может быть неверно, но у вас есть другой ответ, так что один из подходов, скорее всего, поможет.

Вы можете сделать это с помощью TEXT формула.

=IF(A3<=1, TEXT(A3, "#,##0.00"),IF(A3<=1000, TEXT(A3, "#,##0"), TEXT(A3, "#,##,K")))

Выше приведен основной пример нескольких способов форматирования ячейки.

VLOOKUP также будет работать, вам просто нужно выполнить эту часть работы.

2021-11-24 05:51:54

Это не дает результатов, которые ищет операция.
Enigmativity

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................