Округление Excel по переменным десятичным знакам

#excel #excel-formula #rounding

Вопрос:

У меня есть огромный список ценностей, таких как:

 0,1686448 216,4577890 0,00000453 0,0045663  

и нужно округлить их по двум последним значениям, а не по нулю, как:

 0,17 216,46 0,0000045 0,0046  

Первые 2 числа не являются проблемой, если округлить их до 2 десятичных знаков. Но для последних 2 чисел, таких как 0,00000453, я получаю 0.

Существует ли формула для округления в любое время для двух последних значений, отличных от нуля?

Ответ №1:

Вы могли бы использовать:

 =INT(A1) ROUND(MOD(A1,1),INT(2-LOG(MOD(A1,1))))  

Ответ №2:

Разделите на два критерия: если округлено до 2 д. п. = 0,затем округлите до 2 с. ф.

 =LET(n, A1, sf, 2, x, ROUND(n,2), IF(x=0, ROUND(n,sf-(1 INT(LOG10(ABS(n))))), x))  

Использует общую формулу округления до значимых цифр

 ROUND(number,digits-(1 INT(LOG10(ABS(number)))))