Formaty daty i liczb

Formaty daty i godziny oraz liczb pozwalają określić sposób wyświetlania danych w arkuszu. Arkusze Google udostępniają kilka popularnych formatów, ale możesz też zdefiniować własne formaty.

W interfejsie Arkuszy formaty liczb i dat stosuje się do komórek za pomocą menu Format > Liczba. W interfejsie Sheets API te formaty ustawia się za pomocą wywołania metody spreadsheets.batchUpdate, aby wysłać UpdateCellsRequest lub RepeatCellRequest.

Na tej stronie dowiesz się, jak zdefiniować nowe wzorce formatu daty i liczby, które możesz uwzględnić w żądaniu do interfejsu API. Przykładowy kod Ustawianie niestandardowego formatu daty i godziny lub liczby dziesiętnej dla zakresu pokazuje, jak ustawić wzorzec formatu za pomocą interfejsu API. Pamiętaj, że rzeczywiste renderowanie formatu zależy od localearkusza kalkulacyjnego. W tym przewodniku przyjęto założenie, że locale to en_US. Możesz określić locale arkusza kalkulacyjnego, odczytując SpreadsheetProperties za pomocą żądania spreadsheets.get.

Wartości daty i godziny

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

Arkusze używają formy daty epoki, która jest powszechnie stosowana w arkuszach kalkulacyjnych. Część całkowita wartości (na lewo od przecinka) liczy dni od 30 grudnia 1899 r. Część ułamkowa (po prawej stronie przecinka) określa czas jako ułamek dnia. Na przykład 1 stycznia 1900 r. w południe to 2.5, 2, ponieważ jest to 2 dni po 30 grudnia 1899 r., a 0.5, ponieważ południe to pół dnia. 1 lutego 1900 r. o godzinie 15:00 to 33.625.

Arkusz prawidłowo traktuje rok 1900 jako rok zwykły, a nie przestępny.

Wzorce formatów daty i godziny

Wzorzec formatu daty i godziny to ciąg znaków, który po przeanalizowaniu jest zastępowany odpowiednimi elementami daty i godziny (np. miesiącem lub godziną).

Tokeny formatu daty i godziny

W tabeli poniżej znajdziesz definicje podciągów tokenów, których możesz używać we wzorcu formatu daty i godziny. Znak + oznacza, że poprzedni znak może wystąpić co najmniej raz i nadal pasować do wzorca. Znaki, których nie ma w tabeli poniżej, są traktowane jako literały i wypisywane bez zmian.

Token Opis
h Pora dnia. Przełącza między formatem 12-godzinnym a 24-godzinnym w zależności od tego, czy w ciągu znaków występuje wskaźnik AM lub PM.
hh+ Tak samo jak poprzednio, ale z zerem na początku w przypadku liczb od 1 do 9.
m Jeśli poprzedni token nieliteralny był godziną lub następny jest sekundą, oznacza to minuty w godzinie (bez zera na początku). W innym przypadku oznacza miesiąc roku jako liczbę (bez zera na początku).
M Miesiąc bez zera na początku. Użyj tego tokena, aby w wzorcu wyraźnie określić miesiąc zamiast minuty.
mm Takie same jak w przypadku m, ale w obu przypadkach z zerem na początku.
MM Miesiąc z zerem na początku. Użyj tego tokena, aby w wzorcu wyraźnie określić miesiąc zamiast minuty.
mmm Trzyliterowy skrót nazwy miesiąca (np. „lut”).
mmmm Pełna nazwa miesiąca. mmmmmm+ też pasuje.
mmmmm Pierwsza litera miesiąca (np. „C” w przypadku czerwca).
s Sekundy w minucie bez zera na początku.
ss Sekundy w minucie z zerem na początku.
[h+] Liczba godzin, które upłynęły w okresie. Liczba liter oznacza minimalną liczbę cyfr (dodaje zera na początku).
[m+] Liczba minut, które upłynęły w danym okresie. Liczba liter oznacza minimalną liczbę cyfr (dodaje zera na początku).
[s+] Liczba sekund, które upłynęły w okresie. Liczba liter oznacza minimalną liczbę cyfr (dodaje zera na początku).
d Dzień miesiąca bez zera na początku w przypadku liczb mniejszych niż 10.
dd Dzień miesiąca z zerem na początku w przypadku liczb mniejszych niż 10.
ddd Dzień tygodnia w postaci skrótu składającego się z 3 liter (np. „Mon”).
dddd+ Dzień tygodnia (pełna nazwa).
y dwucyfrowy rok,
yy
yyy 4-cyfrowy rok.
yyyy+
a/p Wyświetla „a” w przypadku przedpołudnia i „p” w przypadku popołudnia. Zmienia też godziny na format 12-godzinny. Jeśli litera tokena jest pisana wielką literą, dane wyjściowe również będą pisane wielką literą.
am/pm Jak wyżej, ale zamiast tego wyświetla „AM” lub „PM” i zawsze jest pisany wielkimi literami.
0 dziesiąte części sekundy. Możesz zwiększyć precyzję do 2 cyfr za pomocą ikony00 lub do 3 cyfr (milisekund) za pomocą ikony000.
\ Traktuje następny znak jako wartość dosłowną, a nie jako znak specjalny.
"text" Wyświetla tekst w cudzysłowach jako literał.

Przykłady formatów daty i godziny

Biorąc pod uwagę datę i godzinę Tuesday, April 5, 2016, 4:08:53.528 PM, w tabeli poniżej znajdziesz przykładowe wzorce i odpowiadające im formaty daty i godziny. Druga sekcja tabeli zawiera przykłady formatów czasu, który upłynął, dla czasu 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 4:08:53.53 p
hh:mm A/P".M." 04:08 P.M.
yyyy-mm-dd 2016-04-05
mmmm d \[dddd\] 5 kwietnia [wtorek]
h PM, ddd mmm dd 16:00, wtorek, 5 kwietnia
dddd, m/d/yy at h:mm Wtorek, 5 kwietnia 2016 r. o 16:08
Wzorce czasu trwania 3 hours, 13 minutes, 41.255 seconds
[hh]:[mm]:[ss].000 03:13:41.255
[mmmm]:[ss].000 0193:41.255

Wzorce formatu liczb

Wzorzec formatu liczbowego to ciąg znaków, który po przeanalizowaniu jest zastępowany odpowiednimi reprezentacjami liczbowymi. Wzór formatu liczbowego może składać się z maksymalnie czterech sekcji rozdzielonych średnikami, które określają oddzielne formaty używane dla liczb dodatnich, liczb ujemnych, zera i tekstu (w tej kolejności):

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

Nie musisz uwzględniać wszystkich 4 sekcji w formacie. Jeśli uwzględnisz tylko jedną sekcję, ten format będzie używany dla wszystkich wartości. Użycie dwóch sekcji powoduje zastosowanie pierwszego formatu do zera i liczb dodatnich, a drugiego formatu do liczb ujemnych. Użycie 3 sekcji definiuje osobne formaty dla liczb dodatnich, ujemnych i zera. Na przykład:

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

Jeśli jednak sekcji jest co najmniej 2, a ostatnia z nich jest w formacie tekstowym, jest ona traktowana jako tekst, a pozostałe sekcje zachowują się tak, jakby było ich o 1 mniej. Dlatego uwzględnienie formatu tekstu końcowego umożliwia zdefiniowanie formatów takich jak:

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

Analiza formatu na sekcje następuje przed innymi analizami, więc można uwzględnić format daty lub godziny jako jedną z sekcji (chociaż ma to ograniczone zastosowanie).

Tokeny formatu liczb

W tabeli poniżej znajdziesz definicje ciągów znaków tokenów, których możesz używać w sekcji formatu, aby określać sposób reprezentowania wartości w tej sekcji.

Token Opis
0 Reprezentuje cyfrę w liczbie. Jeśli cyfra jest nieznaczącym zerem, jest renderowana jako 0. Na przykład format liczbowy00.0 wyświetla liczbę 3 jako „03.0”.
# Reprezentuje cyfrę w liczbie. Jeśli cyfra jest nieznaczącym zerem, nie jest renderowana. Na przykład format liczbowy ##0 wyświetla liczbę 12 jako „12”.
? Reprezentuje cyfrę w liczbie. Jeśli cyfra to nieznaczące 0, jest renderowana jako spacja. Jest on często używany do wyrównywania przecinka dziesiętnego w kolumnie, gdy używasz czcionek o stałej szerokości. Na przykład format liczbowy ???.??? renderuje liczbę 12, 4 jako: „ 12.4 ”.
. Pierwsza kropka oznacza przecinek dziesiętny w liczbie. Kolejne kropki są renderowane jako literały. Jeśli w formacie uwzględnisz separator dziesiętny, będzie on zawsze renderowany, nawet w przypadku liczb całkowitych. Na przykład #0.# renderuje liczbę 3 jako „3.”.
% Wyświetla się jako literał, ale powoduje też pomnożenie istniejących liczb przez 100 przed ich wyświetleniem, aby procenty były bardziej czytelne. Na przykład format liczbowy #% wyświetla liczbę 0, 25 jako „25%”.
, Jeśli występuje między znakami dwucyfrowymi (0, # lub ?), renderuje całą liczbę z separatorami grup (grupowanie po tysiącach). Jeśli występuje po cyfrach, skaluje cyfry o tysiąc na przecinek (np. format #0.0,, renderuje liczbę 12 200 000 jako 12.2).
E- Wyświetla liczbę w formacie naukowym, z formatowaniem po lewej stronie znaku E używanym w przypadku części niebędącej wykładnikiem i formatowaniem po prawej stronie litery E używanym w przypadku części będącej wykładnikiem. E+ wyświetla znak + w przypadku dodatnich wykładników. E- wyświetla znak tylko w przypadku ujemnych wykładników. Jeśli użyjesz małych liter, dane wyjściowe e również będą zapisane małymi literami. Na przykład format liczbowy ##0.00#E+## wyświetla liczbę 0, 0000001 jako „100.00E-9”.
E+
e-
e+
/ Jeśli występuje między dwucyfrowymi znakami (0, # lub ?), traktuje te grupy cyfr jako format ułamkowy. Na przykład format liczbowy 0 #/# renderuje liczbę 23, 25 jako 23 1/4. Mianownik może być też liczbą całkowitą, w którym to przypadku jest on używany jako mianownik. 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 z formatem liczbowym 0 #/3 jest wyświetlana jako 23 (ponieważ 0,1 jest zaokrąglane do 0/3). / nie jest zgodny z formatem naukowym ani formatem z kropką dziesiętną.
* Jest to uwzględnione ze względu na zgodność z formatami liczb w programie Microsoft Excel. Jest ona obecnie ignorowana.
_ Token podkreślenia pomija następny znak i renderuje 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 wartość dosłowną, a nie jako znak specjalny. Na przykład format liczbowy \#0 wyświetla liczbę 10 jako „#10”.
"text" Wyświetla tekst w cudzysłowach jako literał.
@ Jeśli komórka zawiera tekst, wstawia tekst w formie nieprzetworzonej. Nie jest zgodny z żadnym innym znakiem specjalnym i nie wyświetla się w przypadku wartości liczbowych (które są wyświetlane w formacie ogólnym).
$ - + ( ) : space Arkusz traktuje te znaki jako literały i wyświetla je bez zmian.

Instrukcje Meta

Dodatkowo każda sekcja formatu może zawierać opcjonalne metainstrukcje ujęte w znaki [], które poprzedzają format i zawierają dodatkowe instrukcje. Istnieją 2 typy metainstrukcji, a dany fragment może używać obu tych typów:

Instrukcja Opis
[condition] Zastępuje domyślne porównanie dodatnie, ujemne lub zerowe sekcji innym wyrażeniem warunkowym. Na przykład [<100]”Low”;[>1000]”High”;000 wyświetla słowo „Low” w przypadku wartości poniżej 100, „High” w przypadku wartości powyżej 1000, a liczbę trzycyfrową (z zerami na początku) w przypadku wartości pośrednich. Warunki można stosować tylko do 2 pierwszych formatów pomocniczych. Jeśli liczba pasuje do więcej niż jednego formatu, używany jest pierwszy z nich. Jeśli istnieje trzeci format, jest on używany w przypadku „wszystkiego innego”. W przeciwnym razie, jeśli liczba nie pasuje do żadnego z formatów, jest renderowana jako same znaki „#” wypełniające szerokość komórki. Jeśli istnieje, czwarty format jest zawsze używany w przypadku tekstu.
[Color] or [Color#] Powoduje, że każda wartość renderowana przez ten podformat jest wyświetlana w podanym kolorze tekstu. Prawidłowe wartości parametru Color to Black, Blue, Cyan, Green, Magenta, Red, White lub Yellow. Prawidłowe wartości znaku „#” w Color# to 1–56 (na tej palecie kolorów znajdziesz listę kolorów odpowiadających poszczególnym numerom). Kolory formatu liczbowego zastępują wszystkie kolory wprowadzone przez użytkownika w komórce, ale nie zastępują kolorów ustawionych przez formatowanie warunkowe.

Przykłady formatów liczb

W tabeli poniżej znajdziesz przykładowe wzorce i odpowiadające im sformatowane liczby:

Liczba 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
MyText
###0.000;"TEXT: "_(@_) 123114.151
TEXT: 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