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 |