Formaty daty i liczb

Formaty daty i godziny oraz liczby pozwalają kontrolować sposób wyświetlania danych w arkuszu. Arkusze Google oferują kilka typowych formatów do wyboru, ale możesz też definiować własne.

W interfejsie Arkuszy możesz zastosować formaty liczb i dat do komórek za pomocą menu Format > Liczba. W interfejsie Arkuszy API możesz ustawić te formaty za pomocą wywołania metody spreadsheets.batchUpdate w celu wysłania UpdateCellsRequest lub RepeatCellRequest.

Z tego artykułu dowiesz się, jak definiować nowe wzorce formatu daty i liczby, które można uwzględnić w żądaniu do interfejsu API. Przykład Ustawianie niestandardowego formatu daty i godziny lub formatu dziesiętnego 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, że locale ma wartość en_US. Aby określić locale arkusza kalkulacyjnego, możesz odczytać obiekt SpreadsheetProperties z żądaniem spreadsheets.get.

Wartości daty i godziny

Arkusze, podobnie jak większość innych aplikacji do obsługi arkuszy kalkulacyjnych, traktujeją daty i godziny jako wartości dziesiętne. Umożliwia to wykonywanie na nich działań arytmetycznych w formułach, dzięki czemu można zwiększać liczbę dni lub tygodni, dodawać lub odejmować dwie daty i godziny oraz wykonywać inne podobne operacje.

Arkusze używają daty epoki często używanej w arkuszach kalkulacyjnych. Liczba całkowita w wartości (po lewej stronie od dziesiętnej) to liczba dni od 30 grudnia 1899 r. Część ułamkowa (po prawej stronie ułamka dziesiętnego) zlicza czas jako ułamek jednego dnia. Na przykład południe 1 stycznia 1900 roku to 2.5, 2, bo są 2 dni po 30 grudnia 1899 r. i 0.5, bo południe jest pół dnia. 1 lutego 1900 roku o 15:00 33.625.

Arkusze poprawnie traktują rok 1900 jako wspólny, a nie przestępny.

Wzorce formatu daty i godziny

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

Tokeny formatu daty i godziny

Tabela poniżej zawiera 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, których nie ma w tabeli poniżej, są traktowane jak literały i podaje się je bez wprowadzania 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 czy PM.
hh+ Tak samo jak poprzednio, ale z początkowym 0 dla 1–9.
m Jeśli poprzedni token niedosłowny trwał kilka godzin, a kolejny miał długość w sekundach, reprezentuje minuty w godzinie (bez zera na początku). W przeciwnym razie miesiąc w roku jest przedstawiany jako liczba (bez zera na początku).
M Miesiąc roku bez zera na początku. Za pomocą tego tokena możesz we wzorcu wyraźnie określić miesiąc, a nie minutę.
mm Tak samo jak m, ale w obu przypadkach z 0 na początku.
MM Miesiąc roku z początkowym 0. Za pomocą tego tokena możesz we wzorcu wyraźnie określić miesiąc, a nie minutę.
mmm 3-literowy skrót oznaczający miesiąc (np. „lut”).
mmmm Pełna nazwa miesiąca. mmmmmm+ również pasuje do tej wartości.
mmmmm Pierwsza litera nazwy miesiąca (na przykład „J” dla czerwca).
s Sekundy w minucie bez zera na początku.
ss Liczba sekund w minucie z 0 na początku.
[h+] Liczba godzin, które upłynęły w określonym czasie. Liczba liter wskazuje minimalną liczbę cyfr (dodaje zera na początku).
[m+] Liczba minut, które upłynęły w określonym czasie. Liczba liter wskazuje minimalną liczbę cyfr (dodaje zera na początku).
[s+] Liczba sekund, które upłynęły w określonym czasie. Liczba liter wskazuje minimalną liczbę cyfr (dodaje zera na początku).
d Dzień miesiąca, bez zera na początku dla liczb mniejszych niż 10.
dd Dzień miesiąca z wartością na początku 0 w przypadku liczb mniejszych niż 10.
ddd Dzień tygodnia, trzyliterowy skrót (np. „pon”).
dddd+ Dzień tygodnia, pełna nazwa.
y Rok w formacie 2-cyfrowym.
yy
yyy Rok w formacie 4-cyfrowym.
yyyy+
a/p Wyświetla „a” dla AM i „p” dla popołudniowej. Zmienia też format godzinowy na 12-godzinny. Jeśli litera tokena będzie pisana wielką literą, dane wyjściowe też będą takie same.
am/pm Jak wyżej, ale zamiast niego jest wyświetlane „AM” lub „PM” i zawsze jest pisane wielkimi literami.
0 Część dziesiętna sekundy. Możesz zwiększyć precyzję do 2 cyfr za pomocą 00 lub do 3 cyfr (milisekund) za pomocą 000.
\ Traktuje następny znak jako wartość literałową i nie ma żadnego specjalnego znaczenia.
"text" Wyświetla tekst znajdujący się w cudzysłowie jako literał.

Przykłady formatu daty i godziny

Dla daty i godziny Tuesday, April 5, 2016, 4:08:53.528 PM w tabeli poniżej znajdziesz przykładowe wzorce i odpowiadające im opcje renderowania daty i godziny. Druga sekcja tabeli zawiera przykłady formatów czasu, który upłynął dla 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
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 5 kwi
dddd, m/d/yy at h:mm Wtorek, 5.04.16 o 16:08
Wzorce czasu upływu czasu 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 liczb to ciąg podłańcuchów tokenów, który po analizie są zastępowane odpowiednimi reprezentacjami liczb. Wzorzec formatu liczb może się składać z maksymalnie 4 sekcji rozdzielonych średnikami określającymi różne formaty używane dla liczb dodatnich, liczb ujemnych, zero i tekstu (w tej kolejności):

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

Nie musisz przesyłać wszystkich 4 sekcji w formacie. Jeśli podasz tylko jedną sekcję, format ten będzie używany dla wszystkich wartości. Jeśli masz 2 sekcje, pierwszy format stosuje się do liczb zerowych i dodatnich, a drugi do liczb ujemnych. Trzy sekcje pozwalają zdefiniować 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 sekcja składa się z co najmniej 2 sekcji i ostatnia jest w formacie tekstowym, sekcja ta jest traktowana jako format tekstowy, a pozostałe zachowują się tak, jakby było o jedną sekcję mniej. Dzięki temu po włączeniu ostatecznego formatu tekstowego można zdefiniować formaty, takie jak:

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

Analiza formatu na sekcje odbywa się przed innymi analizami, więc można uwzględnić format daty lub godziny (choć funkcja ta jest mało przydatna).

Tokeny formatu liczb

W tabeli poniżej znajdziesz podłańcuchy tokenów, których możesz używać w sekcji formatu do definiowania wartości dla tej sekcji.

Token Opis
0 Reprezentuje cyfrę w liczbie. Jeśli cyfra to 0, jest wyświetlana jako 0. Na przykład format liczb 00.0 renderuje liczbę 3 jako „03.0”.
# Reprezentuje cyfrę w liczbie. Jeśli cyfra to nieistotne 0, nie jest renderowana. Na przykład format liczb ##0 renderuje liczbę 12 jako „12”.
? Reprezentuje cyfrę w liczbie. Jeśli cyfra ma nieznaczne 0, jest renderowana jako spacja. Jest to często używane do wyrównywania przecinka dziesiętnego w kolumnie przy korzystaniu z czcionek o stałej szerokości. Na przykład format liczb ???.??? renderuje liczbę 12.4 jako: „ 12.4”.
. Pierwsza kropka reprezentuje separator dziesiętny w liczbie. Kolejne okresy są renderowane jako literały. Jeśli w formacie użyjesz separatora dziesiętnego, kod jest zawsze renderowany, nawet w przypadku liczb całkowitych. Na przykład #0.# renderuje liczbę 3 jako „3.”.
% Przedstawia się jak literał, ale przed renderowaniem powoduje też, że istniejące liczby są mnożone przez 100, co zwiększa czytelność wartości procentowych. Na przykład format liczb #% renderuje liczbę 0, 25 jako „25%”.
, Jeśli występuje między znakami dwucyfrowymi (0, # lub ?), renderuje całą liczbę z separatorami grup (pogrupowanymi według tysięcy). Jeśli występuje po znakach cyfr, skaluje je o 1000 na przecinek (na przykład format #0.0,, renderuje liczbę 12 200 000 jako 12.2).
E- Renderuje liczbę w formacie naukowym, z formatowaniem po lewej stronie wartości E dla części bez wykładnika i formatowaniem z prawej strony litery E dla części wykładniczej. E+ pokazuje znak + dla wykładników dodatnich. E- pokazuje tylko znak ujemnych wykładników. Jeśli używasz małych liter, dane wyjściowe e również będą zapisane 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 znakami 2-cyfrowymi (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 którym to przypadku wymusza tę liczbę jako mianownik. Format liczb 0 #/8 wyświetla liczbę 23,25 jako 23 2/8. Część ułamkowa nie jest renderowana, gdy licznik zmieni wartość na 0. Liczba 23,1 w formacie liczb 0 #/3 renderuje się jako 23 (ponieważ 0,1 jest zaokrąglane do 0/3). Funkcja / jest niezgodna z formatem naukowym lub formatem zawierającym separator dziesiętny.
* Ta wartość jest uwzględniana w celu zapewnienia zgodności z formatami liczb w programie Microsoft Excel. Jest on obecnie ignorowany.
_ Token podkreślenia pomija kolejny znak i powoduje wyrenderowanie spacji. Służy do wyrównywania formatów liczb, w których wartość ujemna jest umieszczana w nawiasach.
\ Traktuje następny znak jako wartość literałową i nie ma żadnego specjalnego znaczenia. Na przykład format liczb \#0 renderuje liczbę 10 jako „#10”.
"text" Wyświetla tekst znajdujący się w cudzysłowie jako literał.
@ Jeśli komórka zawiera pole tekstowe, wstawia nieprzetworzony tekst. Jest niezgodna z pozostałymi znakami specjalnymi i nie wyświetla się w przypadku wartości liczbowych (które są wyświetlane w formacie ogólnym).
$ - + ( ) : space Arkusze traktuje te znaki jak literały i wyświetlają je bez zmian.

Metainstrukcje

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

Instrukcja Opis
[condition] Zastępuje domyślne porównanie sekcji dodatnie, ujemne lub zerowe dla sekcji innym wyrażeniem warunkowym. Na przykład [<100]”Low”;[>1000]”High”;000 renderuje słowo „Niska” dla wartości poniżej 100, „Wysokie” dla wartości powyżej 1000 i trzycyfrową liczbę (z początkiem 0) dla dowolnych wartości pośrednich. Warunki mogą być stosowane tylko do 2 pierwszych podformatów, a jeśli liczba pasuje do więcej niż jednego, zostanie użyty pierwszy pasujący format. Jeśli istnieje trzeci format, jest on używany do „wszystkich pozostałych”. W przeciwnym razie, jeśli liczba nie pasuje do żadnego z formatów, jest renderowana, gdy wszystkie znaki „#” wypełniają szerokość komórki. Jeśli istnieje, czwarty format jest zawsze używany w przypadku tekstu.
[Color] or [Color#] Sprawia, że każda wartość renderowana przez ten podformat pojawia się z podanym kolorem tekstu. Prawidłowe wartości Color to czarny, niebieski, błękitny, zielony, purpurowy, czerwony, biały i żółty. Prawidłowe wartości znaku „#” w zakresie Color# to 0&ndash1;56 (ta paleta kolorów zawiera listę kolorów odpowiadających poszczególnym liczbom). Kolory formatu liczb zastępują kolory wpisane przez użytkownika w komórce, ale nie zastępują kolorów określonych przez formatowanie warunkowe.

Przykłady formatu liczb

W tabeli poniżej znajdziesz kilka przykładowych wzorców wraz z odpowiednimi formatami dotyczącymi renderowania liczb:

Liczby Wzór Sformatowana wartość
12 345 ####.# 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ój tekst
###0.000;"TEXT: "_(@_) 123114.151
TEKST: MyText
1234
-1234
0
Mój tekst
[Blue]#,##0;[Red]#,##0;[Green]0.0;[Magenta]_(@_) 1234
1234
0,0
MyText
1005
32
527
[>1000]"HIGH";[Color43][<=200]"LOW";0000 WYSOKA
NISKA
0527