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 |