Formaty daty i liczb

Formaty daty i godziny oraz liczb pozwalają kontrolować sposób wyświetlania danych w arkuszu. W Arkuszach Google są dostępne typowe formaty, ale możesz też zdefiniować własne.

W interfejsie Arkuszy formaty liczb i dat możesz stosować w komórkach za pomocą menu Formatuj > Liczba. W interfejsie Arkuszy API ustawiasz te formaty za pomocą wywołania metody spreadsheets.batchUpdate do wysyłania UpdateCellsRequest lub RepeatCellRequest.

Na tej stronie opisujemy, jak definiować nowe wzorce formatów daty i liczb, które możesz uwzględnić w żądaniu do interfejsu API. Z przykładu Ustawianie niestandardowego formatu daty i godziny lub liczb dziesiętnych dla zakresu pokazujemy, jak ustawić wzorzec formatu za pomocą interfejsu API. Rzeczywiste renderowanie formatu zależy od parametru locale arkusza kalkulacyjnego. W tym przewodniku przyjęto założenie, że locale to en_US. Aby określić locale arkusza kalkulacyjnego, możesz odczytać SpreadsheetProperties za pomocą żądania spreadsheets.get.

Informacje o wartościach daty i godziny

Arkusze, podobnie jak większość innych aplikacji do obsługi arkuszy kalkulacyjnych, traktować wartości daty i godziny jako wartości dziesiętnych. Dzięki temu możesz wykonywać na nich obliczenia arytmetyczne w formułach, zwiększać liczbę dni lub tygodni, dodawać lub odejmować dwie daty i godziny oraz wykonywać inne podobne operacje.

Arkusze używają często stosowanej w arkuszach kalkulacyjnych daty epoki. Liczba całkowita w wartości (po lewej stronie separatora dziesiętnego) oznacza dni od 30 grudnia 1899 r. Ułamek (po prawej stronie dziesiętnego) oznacza czas jako ułamek jednego dnia. Na przykład 1 stycznia 1900 roku w południe jest 2.5, 2, bo minęły 2 dni po 30 grudnia 1899 r., a 0.5, bo południe to pół dnia. 1 lutego 1900 r., godz. 15:00: 33.625.

Arkusze prawidłowo traktuje rok 1900 jako wspólny, a nie przestępny.

Wzorce formatów daty i godziny

Wzorzec formatu daty i godziny to ciąg podłańcuchów tokena, które podczas analizy są zastępowane odpowiednimi elementami daty i godziny (takimi jak miesiąc lub godzina).

Tokeny formatu daty i godziny

W poniższej tabeli zdefiniowano podłańcuchy tokenów, których możesz używać we wzorcu formatu daty i godziny. Znak + oznacza, że poprzedni znak może się pojawić co najmniej raz i nadal pasować do wzorca. Znaki niewymienione w tej tabeli są traktowane jako literały i są wyświetlane bez zmian.

Token Opis
h Pora dnia. Przełącza się między formatem 12-24-godzinnym w zależności od tego, czy w ciągu znaków znajduje się oznaczenie AM lub PM.
hh+ Tak samo jak poprzednio, ale z 0 na początku w miejsce 1–9.
m Jeśli poprzedni token, który nie był dosłownym, to godziny, lub kolejny, to sekundy, przedstawia minuty w godzinie (bez zera na początku). W przeciwnym razie przedstawia miesiąc w roku za pomocą liczby (bez 0 na początku).
M Miesiąc roku bez zera na początku. Użyj tego tokena, aby wyraźnie określić we wzorcu miesiąc zamiast minuty.
mm Ta sama wartość co w polu m, ale z 0 na początku w obu przypadkach.
MM Miesiąc roku z początkowym 0. Użyj tego tokena, aby wyraźnie określić we wzorcu miesiąc zamiast minuty.
mmm Trzyliterowy skrót miesiąca (np. „lut”).
mmmm Pełna nazwa miesiąca. mmmmmm+ również pasuje do tego słowa.
mmmmm Pierwsza litera miesiąca (na przykład „J” do czerwca)
s Sekundy minuty bez zera na początku.
ss Sekundy w minucie z początkowym 0.
[h+] Liczba godzin, które upłynęły w określonym czasie. Liczba liter wskazuje minimalną liczbę cyfr (dodaje wiodące zera).
[m+] Liczba minut, które upłynęły w określonym czasie. Liczba liter wskazuje minimalną liczbę cyfr (dodaje wiodące zera).
[s+] Liczba sekund, które upłynęły w określonym czasie. Liczba liter wskazuje minimalną liczbę cyfr (dodaje wiodące zera).
d Dzień miesiąca bez zera na początku w przypadku liczb mniejszych niż 10.
dd Dzień miesiąca (z 0 na początku w przypadku liczb mniejszych niż 10).
ddd Dzień tygodnia, trzyliterowy skrót (np. „pon”).
dddd+ Dzień tygodnia, pełna nazwa.
y Rok oparty na 2 cyfrach.
yy
yyy Rok zapisany 4 cyframi.
yyyy+
a/p Wyświetla literę „a” w przypadku AM i „p” w przypadku popołudniowego słońca. Zmienia też godziny na format 12-godzinny. Jeśli litera tokena jest zapisana wielkimi literami, dane wyjściowe również będą takie same.
am/pm Jak wyżej, ale nazwa „AM” lub „PM” jest zawsze pisana wielkimi literami.
0 Dziesiątki sekundy. Możesz zwiększyć precyzję do 2 cyfr, używając 00, lub 3 cyfr (milisekund), korzystając z 000.
\ Traktuje następny znak jako dosłowną wartość, a nie jako specjalne znaczenie.
"text" Wyświetla cały tekst zawarty w cudzysłowach jako literał.

Przykłady formatów daty i godziny

Dla daty i godziny Tuesday, April 5, 2016, 4:08:53.528 PM w tabeli poniżej znajdziesz przykładowe wzorce wraz z odpowiadającymi im renderowaniem daty i godziny. Druga sekcja tabeli zawiera przykłady formatów czasu, który upływa (3 hours, 13 minutes, 41.255 seconds):

Wzorce daty i godziny Tuesday, April 5, 2016, 4:08:53.528 PM
h:mm:ss.00 a/p 16:08:53,53 po południu
hh:mm A/P".M." 16:08
yyyy-mm-dd 2016-04-05
mmmm d \[dddd\] 5 kwietnia [wtorek]
h PM, ddd mmm dd 16:00, wt 05 kwi
dddd, m/d/yy at h:mm Wtorek, 5.04.16 godz. 16:08
Wzorce czasu upływu 3 hours, 13 minutes, 41.255 seconds
[hh]:[mm]:[ss].000 03:13:41,255
[mmmm]:[ss].000 0193:41,255

Wzorce formatów liczb

Wzorzec formatu liczby to ciąg podłańcuchów tokena, które po przeanalizowaniu są zastępowane odpowiednimi wartościami liczbowymi. Wzorzec formatu liczb może się składać z maksymalnie 4 sekcji rozdzielonych średnikami, które definiują osobne formaty liczb dodatnich i ujemnych, zera i tekstu (w tej kolejności):

[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]

Nie musisz uwzględniać wszystkich 4 sekcji danego formatu. Jeśli dołączysz tylko jedną sekcję, ten format będzie stosowany do wszystkich wartości. Jeśli użyjesz 2 sekcji, pierwszy format zostanie zastosowany do liczb dodatnich i zerowych, a drugi do liczb ujemnych. Użycie trzech sekcji definiuje osobne formaty liczb dodatnich, ujemnych i zerowych. Na przykład:

[NUMBER FORMAT]
[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT]
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT]

Jeśli jednak są co najmniej 2 sekcje, a ostatnia sekcja ma format tekstowy, jest ona traktowana jako format tekstowy, a pozostałe zachowują się tak, jakby były o jedną sekcję mniej. Dołączając ostateczną wersję tekstu, można zdefiniować takie formaty jak:

[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT];[TEXT FORMAT]
[NUMBER FORMAT];[TEXT FORMAT]

Analiza formatu na sekcje ma miejsce przed innymi analizami, więc jako jedną z tych sekcji można dołączyć format daty lub godziny (chociaż ta funkcja ma ograniczoną funkcjonalność).

Tokeny formatu liczb

W tabeli poniżej zdefiniowano podłańcuchy tokenów, których możesz użyć w sekcji formatu do określenia sposobu przedstawiania wartości w tej sekcji.

Token Opis
0 Reprezentuje cyfrę w liczbie. Jeśli cyfra jest nieistotnym 0, jest renderowana jako 0. Na przykład format liczbowy 00.0 renderuje liczbę 3 jako „03.0”.
# Reprezentuje cyfrę w liczbie. Jeśli cyfra jest nieistotnym 0, nie jest renderowana. Na przykład format liczb ##0 renderuje liczbę 12 jako „12”.
? Reprezentuje cyfrę w liczbie. Jeśli cyfra jest nieistotnym 0, jest renderowana jako spacja. Często używa się go do wyrównywania separatora dziesiętnego w kolumnie przy korzystaniu z czcionek o stałej szerokości. Na przykład format liczbowy ???.??? renderuje liczbę 12.4 w taki sposób: „ 12.4 ”.
. Pierwsza kropka reprezentuje separator dziesiętny liczby. Kolejne okresy są renderowane jako literały. Jeśli dodasz w formacie separator dziesiętny, będzie on zawsze renderowany, nawet w przypadku liczb całkowitych. Na przykład #0.# renderuje liczbę 3 jako „3.”.
% Przedstawia się jako literał, ale powoduje też, że istniejące liczby są mnożone przez 100 przed wyrenderowaniem, aby zwiększyć czytelność wartości procentowych. Na przykład format liczb #% renderuje liczbę 0, 25 jako „25%”.
, Jeśli pojawi się między 2-cyfrowymi znakami (0, # lub ?), wyrenderuje całą liczbę za pomocą separatora grupowania (grupowania według tysięcy). Jeśli numer zawiera cyfry, skaluje je o tysiąc na przecinek (np. w formacie #0.0,, jako 12.2 podaje liczbę 12 200 000).
E- Renderuje liczbę w formacie naukowym z formatowaniem po lewej stronie wartości E użytej jako część niebędąca wykładnikiem, a formatowaniem po prawej stronie zapisu E jako części wykładnika. E+ pokazuje znak + dla wykładników dodatnich. E- pokazuje znak tylko dla wykładników ujemnych. Jeśli użyjesz małych liter, dane wyjściowe e również będą pisane małymi literami. Na przykład format liczb ##0.00#E+## renderuje liczbę 0, 0000001 jako „100.00E-9”.
E+
e-
e+
/ Jeśli występuje między 2-cyfrowymi znakami (0, # lub ?), traktuje te grupy cyfr jako format ułamkowy. Na przykład format liczb 0 #/# renderuje liczbę 23, 25 jako 23 1/4. Mianownik może być też dosłowną liczbą całkowitą. W takim przypadku jako mianownika wymuszana jest ta liczba całkowita. Format liczb 0 #/8 wyświetla liczbę 23,25 jako 23 2/8. Część ułamkowa nie jest renderowana, jeśli licznik wynosi 0. Liczba 23.1 w formacie liczb 0 #/3 jest renderowana jako 23 (ponieważ 0,1 jest zaokrąglane do 0/3). Format / jest niezgodny z formatem naukowym lub formatem z kropką dziesiętną.
* Na potrzeby zgodności z formatami liczb w programie Microsoft Excel. Jest obecnie ignorowana.
_ Token podkreślenia pomija następny znak i wyrenderuje spację. Służy do wyrównywania formatów liczb, w których wartość ujemna jest ujęta w nawiasy.
\ Traktuje następny znak jako dosłowną wartość, a nie jako specjalne znaczenie. Na przykład format liczb \#0 renderuje liczbę 10 jako „#10”.
"text" Wyświetla cały tekst zawarty w cudzysłowach jako literał.
@ Jeśli komórka zawiera tekst, zostanie wstawiony nieprzetworzony tekst. Jest niezgodna z innymi znakami specjalnymi i nie wyświetla się w przypadku wartości liczbowych (które są wyświetlane w formacie ogólnym).
$ - + ( ) : space Arkusze będą traktować te znaki jako literały i wyświetlać je bez zmian.

Instrukcje meta

Poza tym każda sekcja formatu może zawierać opcjonalne metainstrukcje ujęte w znaki [], które poprzedzają format i zawierają dodatkowe instrukcje. Są 2 rodzaje metainstrukcji, a w danej sekcji można używać obu:

Instrukcja Opis
[condition] Zastępuje domyślne pozytywne, negatywne lub zerowe porównanie sekcji innym wyrażeniem warunkowym. Na przykład [<100]”Low”;[>1000]”High”;000 renderuje słowo „Niska” w przypadku wartości poniżej 100, „Wysoki” dla wartości powyżej 1000 i 3-cyfrową liczbę (z początkiem 0 s) w przypadku wartości pośrednich. Warunki można stosować tylko do 2 pierwszych podformatów, a jeśli liczba pasuje do więcej niż 1 z nich, używany jest pierwszy, który pasuje. Jeśli wybierzesz trzeci format, będzie on używany w przypadku opcji „Cała reszta”. W przeciwnym razie, jeśli liczba nie pasuje do żadnego z tych formatów, zostanie wyrenderowana, gdy znak „#” wypełni szerokość komórki. Jeśli taki format występuje, zawsze używany jest czwarty format.
[Color] or [Color#] Sprawia, że wartość wyrenderowana przez ten podformat jest wyświetlana z określonym kolorem tekstu. Prawidłowe wartości pola Color to czarny, niebieski, błękitny, zielony, purpurowy, czerwony, biały i żółty. Prawidłowe wartości dla znaku „#” w argumencie Color# to 0&ndash1;56 (ta paleta kolorów zawiera listę kolorów odpowiadających poszczególnym cyfrom). Kolory formatu liczb zastępują wszystkie kolory wpisane przez użytkownika w komórce, ale nie zastępują kolorów ustawionych przez formatowanie warunkowe.

Przykłady formatów liczb

W tej tabeli znajdziesz przykładowe wzorce i odpowiadające im renderowanie sformatowanych liczb:

Liczby Wzór Wartość sformatowana
12345,125 ####.# 12345.1
12,34 000.0000 012,3400
12 #.0# 12.0
5,125 # ???/??? 5 1/8
12000 #,### 12 000
1230000 0.0,,"M" 1,2 mln
1234500000 0.00e+00 1,23e+09
123114.15115
Mójtekst
###0.000;"TEXT: "_(@_) 123114.151
TEKST: MyText
1234
-1234
0
MyText
[Blue]#,##0;[Red]#,##0;[Green]0.0;[Magenta]_(@_) 1234
1234
0,0
MyText
1005
32
527
[>1000]"HIGH";[Color43][<=200]"LOW";0000 WYSOKI
NISKI
0527