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 jest 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ć od siebie 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 zawierający podciągi tokenów, które po przeanalizowaniu są zastępowane 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 poprzedni, 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 roku bez zera na początku. Użyj tego tokena, aby w wzorcu wyraźnie określić miesiąc zamiast minuty. | 
| mm | Takie same jak m, ale w obu przypadkach z zerem na początku. | 
| MM | Miesiąc roku 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 3-literowego skrótu (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ą symbolu 00lub do 3 cyfr (milisekund) za pomocą symbolu000. | 
| \ | 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 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]
Analizowanie formatu na sekcje odbywa się 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 liczbowy 00.0wyś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 ##0wyś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 podczas korzystania z czcionek o stałej szerokości. Na przykład format liczbowy ???.???renderuje liczbę 12, 4 jako:
    „12.4”. | 
| . | Pierwsza kropka oznacza punkt dziesiętny w liczbie. Kolejne kropki są renderowane jako literały. Jeśli w formacie uwzględnisz przecinek 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ę dosłownie, ale też powoduje 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 jako12.2). | 
| E- | Wyświetla liczbę w formacie naukowym, z formatowaniem po lewej stronie znaku Euż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ścioweeró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 liczbowy0 #/#renderuje liczbę 23, 25 jako23 1/4. Mianownik może być też liczbą całkowitą, w którym to przypadku jest on wymuszany jako mianownik. Format liczb0 #/8wyświetla liczbę 23,25 jako23 2/8. Część ułamkowa nie jest renderowana, jeśli licznik wynosi 0. Liczba 23,1 z formatem liczbowym0 #/3jest wyświetlana jako23(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 otoczona nawiasami. | 
| \ | Traktuje następny znak jako wartość dosłowną, a nie jako znak specjalny. Na przykład format liczbowy \#0wyś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 dotyczące metadanych
Dodatkowo każda sekcja formatu może zawierać opcjonalne meta instrukcje ujęte w znaki [], które poprzedzają format i zawierają dodatkowe instrukcje. Istnieją 2 typy meta instrukcji, 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”;000wyświetla słowo „Low” w przypadku wartości poniżej 100, „High” w przypadku wartości powyżej 1000, a trzycyfrową liczbę (z zerami na początku) w przypadku wszystkich 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 |