W Arkuszach Google chcę wyrównywać liczby dziesiętne bez dodawania zer końcowych w części ułamkowej.
Instead of: I want:
+------+ +------+
| 56.0| | 56 |
| 27.0| | 27 |
| 83.0| | 83 |
| 2.4| | 2.4|
| 1.2| | 1.2|
| 120.0| | 120 |
+------+ +------+
Format pierwszej kolumny można łatwo osiągnąć (na przykład przy użyciu formatu „0.0” lub po prostu ustawiając niestandardowe kropki dziesiętne pod przyciskiem 123).
W Excelu uważam, że format drugiej kolumny jest realizowany przy użyciu formatu „0?”, Ale od tego momentu nie działa w Arkuszach Google.
Obejście
Można wymusić końcowe znaki za pomocą Zastępowania:
= Substitute( Text( formula ; "0.0" ) ; ".0" ; " ")
= Substitute( Text( formula ; "0.0" ) ; ".0" ; "__" )
Uwaga: dwoma podstawionymi znakami spacji nie są U + 0020 SPACE, ale U + 2002 EN SPACE . ( U + 00A0 PRZESTRZEŃ BEZ PRZERWY również działa.)
Niektóre niepożądane skutki tego obejścia są takie
- modyfikuje nie tylko format wyświetlania, ale także wartość komórki
- wymaga użycia czcionki o stałej szerokości w komórce
- końcowe białe znaki powodują zamianę czcionek ze względu na Unicode i nie są drukowane poprawnie
- końcowe podkreślenia nie są tak pożądane jak końcowe białe znaki
- myli opiekunów, ponieważ nie jest oczywiste, że używana jest EN SPACE
- (przypuszczalnie) zawodzi w lokalizacjach, w których kropka jest używana jako separator kropki (separator tysięcy) zamiast znacznika dziesiętnego
źródło
Napisałem trochę kodu, aby ułatwić ci życie, wyświetlając cyfry po przecinku.
Pierwszy kod
można używać tylko w zakresie, ponieważ dynamicznie zmienia wygląd liczb zgodnie z najwyższym miejscem po przecinku w zakresie. Pozwala również wybrać końcową postać, na przykład CHAR (160):
Drugi kod
ma być stosowany do komórek. Tutaj musisz ustawić końcową długość:
Trzeci kod
zapisze ciąg ze wszystkich znaków nienumerycznych, z wyjątkiem „.” i ",":
Przykładowy plik
Liczby wyrównane dziesiętnie
Myśli
Ta odpowiedź nie usuwa obaw, o których wspomniałeś w swoim pytaniu, ale da ci pewną automatyzację (dynamicznie) w ich wyświetlaniu !! Powodzenia.
źródło
Możesz ustawić format warunkowo, używając skryptu aplikacji do iteracji w zakresie komórek i stosowania różnych niestandardowych formatów liczb w zależności od wartości komórki (liczba całkowita vs liczba całkowita). Za pomocą niestandardowych formatów liczb można wyświetlać białe spacje o różnej szerokości za pomocą znaku podkreślenia, na przykład
_.
wstawia białe spacje o szerokości kropki i_0
wstawia białe znaki o szerokości zero. Nawiasem mówiąc, większość czcionek używa tej samej szerokości dla wszystkich znaków numerycznych, więc znak 0 ma taką samą szerokość jak 1, 2 i 3 itd.Jest to przykład sposobu wyświetlania liczb przed i po zastosowaniu formatowania przez uruchomienie skryptu. Jedną wadą jest to, że zmiana wartości komórki z liczby całkowitej na liczbę całkowitą lub odwrotnie wymagać będzie ponownego zastosowania formatowania w celu wyświetlenia lub ukrycia liczby dziesiętnej w razie potrzeby.
Scenariusz
źródło