Czy można zaokrąglić do różnych miejsc dziesiętnych w programie Excel w zależności od zakresu?

0

Pytanie

Chcę dostosować arkusz excel, który округлял by wartość do różnych miejsc po przecinku, w zależności od zakresu wprowadzonej wartości. Próbowałem stosować różne formuły, ale bezskutecznie. Na obrazie przedstawiono wymagania. Czy jest możliwe osiągnięcie tego za pomocą zagnieżdżonych IF? czy będę potrzebował VB-skrypt lub coś podobnego? Czy może ktoś podać mi przykład formuły iIF, który mogę użyć co najmniej dla dwóch zakresów, a następnie mogę dostosować ją do reszty.

enter image description here

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

Najlepsza odpowiedź

3

Oto kilka prostych formuł wykorzystujących tabeli odnośników:

screenshot

To LookupTable to tylko liczby z tabeli źródłowej.

To ResultsTable czy te formuły:

Najbliższy: =VLOOKUP([@Sample],LookupTable,2,TRUE)

Wynik: =[@Nearest]*ROUND([@Sample]/[@Nearest],0)


Można nawet zrobić to w jeden wzór, to tak:

=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

Fajna koncepcja. Głosowanie...
pgSystemTester
1

Aby prowadzić liczby do właściwego округленному liczbę całkowitą (przeciwko po przecinku), zgodnie z żądaniami wydania, powinno zadziałać coś takiego.

=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)))))))

Zobacz przykład w tym arkuszu...

Wyniki badań:

enter image description here

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

Spróbuj To:

Zakładając, że liczba znajduje się w komórce 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

Sufit nie zadziała. Rozważmy przykłady liczb 41, 1030, 381.
pgSystemTester

W podanych przez ciebie przykładach 41 otrzymuje wynik 45, 1030 otrzymuje wynik 1100 , a 381 otrzymuje wynik 390. czy to źle? bo zdałem sobie sprawę, że 41, na przykład, powinien być zaokrąglony do takich 5??
Abdullah Bayounis

@AbdullahBayounis - W pytaniu jest mowa tylko "najbliższy", a nie "zaokrąglony".
Enigmativity
-1

Ja odczytałem twoje pytanie, opierając się na twoich słowach, a nie na obrazie. To może być źle, ale masz inną odpowiedź, więc jednym ze sposobów, najprawdopodobniej pomoże.

Można to zrobić za pomocą TEXT formuła.

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

Powyżej znajduje się główny przykład kilka sposobów formatowania komórki.

Wyszukaj. pionowo będzie również działać, trzeba tylko wykonać tę część pracy.

2021-11-24 05:51:54

To nie daje rezultatów, które szuka operacja.
Enigmativity

W innych językach

Ta strona jest w innych językach

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