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 locale
arkusza 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 |