透過日期時間和數字格式控制資料在試算表中的顯示方式。Google 試算表提供一些常用格式可供選擇,但您也可以定義自己的格式。
在試算表 UI 中,透過「Format」(格式) >「Number」(數字) 選單,即可為儲存格套用數字和日期格式。在試算表 API 中,您可以使用 spreadsheets.batchUpdate
方法呼叫來設定這些格式,並傳送 UpdateCellsRequest
或 RepeatCellRequest
。
本頁面說明如何定義新的日期和數字格式模式,您可以在 API 要求中加入這些模式。「為特定範圍設定自訂日期時間或小數格式」範例說明如何使用 API 設定格式模式。請注意,格式的實際算繪取決於試算表的 locale
。本指南假設 locale
為 en_US
。您可以讀取 SpreadsheetProperties
和 spreadsheets.get
要求,判斷試算表的 locale
。
關於日期和時間值
如同其他大多數試算表應用程式,Google 試算表會將日期和時間值視為小數值。這樣就能對公式執行算術,因此您可增加或減少天或週數、加上或減去兩個日期和時間,並執行其他類似的運算。
Google 試算表採用的週期日期格式,通常用於試算表。值的整數部分 (小數左側) 會計算自 1899 年 12 月 30 日以來的天數。分數部分 (小數點右側) 會將時間以一天的分數計算。舉例來說,1900 年 1 月 1 日中午是 2.5
,2
是 1899 年 12 月 30 日後的 2 天,而 0.5
,因為中午是半天。1900 年 2 月 1 日下午 3 點為 33.625
。
Google 試算表正確地將 1900 年視為常態一年,而不是閏年。
日期和時間格式模式
「日期時間格式模式」是憑證子字串的字串,剖析時,系統會將該字串替換為對應的日期時間元素 (例如月或小時)。
日期和時間格式權杖
下表定義您可以在日期時間格式模式中使用的符記子字串。+
字元表示前一個字元可以出現一次以上,但仍與模式相符。系統會將下表未列出的字元視為常值,並在輸出時不變更。
權杖 | 說明 |
---|---|
h |
時段。在字串中是否出現上午或下午指標,切換 12 至 24 小時制。 |
hh+ |
與先前相同,但開頭是 0,代表 1-9。 |
m |
如果上一個非文字符記是小時,或者後續符記為秒數,則代表以小時為單位的分鐘 (不加 0)。否則,會以數字 (不加 0) 表示一年中的月份。 |
M |
年份的月份,前方不加 0。請在模式中使用這個符記明確表示月份 (而非分鐘)。 |
mm |
與 m 相同,但兩者的開頭為 0。 |
MM |
以 0 開頭的月份。請在模式中使用這個符記明確表示月份 (而非分鐘)。 |
mmm |
三個字母的月份縮寫 (例如「Feb」)。 |
mmmm |
完整月份名稱。mmmmmm+ 也與這個相符。 |
mmmmm |
月份的第一個字母 (例如「J」代表 6 月)。 |
s |
一分鐘內的第幾秒,前方沒有 0。 |
ss |
一分鐘內的第幾秒,前方加 0。 |
[h+] |
某一段時間內的經過時數。字母數量代表位數的下限 (會前面加上 0)。 |
[m+] |
某一段時間內的經過分鐘數。字母數量代表位數的下限 (會前面加上 0)。 |
[s+] |
在一段時間內經過的秒數。字母數量代表位數的下限 (會前面加上 0)。 |
d |
日期,但小於 10 的數字開頭不加 0。 |
dd |
日期,以 0 開頭,表示小於 10 的數字。 |
ddd |
星期幾,由三個字母組成的縮寫 (例如「Mon」)。 |
dddd+ |
星期幾,全名。 |
y |
以 2 位數表示的年份。 |
yy |
|
yyy |
以 4 位數表示的年份。 |
yyyy+ |
|
a/p |
顯示上午的「a」;下午則顯示「p」。同時將小時格式變更為 12 小時制。如果符記字母是大寫,輸出內容也會跟著輸出。 |
am/pm |
如上所述,但改為顯示「上午」或「下午」,並一律大寫。 |
0 |
打動十秒的時間您可以使用 000 將精確度提高到兩位數 (包含 00 或三位數 (毫秒))。 |
\ |
將下一個字元視為常值,而非其可能有的特殊意義。 |
"text" |
以常值形式顯示所有引號內的文字。 |
日期和時間格式範例
下表根據日期和時間為 Tuesday, April 5, 2016, 4:08:53.528 PM
列出了一些模式範例,以及對應的日期時間轉譯。表格的第二部分顯示經過 3 hours, 13 minutes, 41.255 seconds
的經過時間格式範例:
日期時間模式 | Tuesday, April 5, 2016, 4:08:53.528 PM |
---|---|
h:mm:ss.00 a/p |
下午 4:08:53.53 |
hh:mm A/P".M." |
下午 04:08 |
yyyy-mm-dd |
2016-04-05 |
mmmm d \[dddd\] |
4 月 5 日 [星期二] |
h PM, ddd mmm dd |
4 月 5 日週二下午 4 點 |
dddd, m/d/yy at h:mm |
2016 年 4 月 5 日星期二 16:08 |
經過時間模式 | 3 hours, 13 minutes, 41.255 seconds |
[hh]:[mm]:[ss].000 |
03:13:41.255 |
[mmmm]:[ss].000 |
0193:41.255 |
數字格式模式
「數字格式模式」是符記子字串的字串,剖析時會將此字串替換為對應的數字表示法。數字格式模式最多可包含四個區段,以半形分號分隔,其定義用於正數、負數、0 和文字的個別格式 (依序):
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]
您不需要在格式中全部加入四個區段。如果您只加入一個區段,所有值都會採用該格式。使用兩個區段會使第一個格式分別套用至零和正數,第二個格式則套用至負數。並使用三個區段定義正數、負數和零數字的不同格式。例如:
[NUMBER FORMAT] [POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT] [POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT]
不過,如果有兩個以上的區段,且最後一個區段是文字格式,則該區段會視為文字格式,而其他區段則會假設其僅有一個區段。因此,只要加入最終文字格式,即可定義以下格式:
[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT];[TEXT FORMAT] [NUMBER FORMAT];[TEXT FORMAT]
系統會在其他剖析之前,將格式剖析為區段,因此您可以將日期或時間格式納入為其中一個區段 (但這樣做的實用性有限)。
數字格式權杖
下表定義了可在格式部分使用的符記子字串,以定義該區段值的方式。
權杖 | 說明 |
---|---|
0 |
代表數字中的一個數字。如果數字是不明顯的 0,會顯示為 0。舉例來說,數字格式 00.0 會將數字 3 轉譯為「03.0 」。 |
# |
代表數字中的一個數字。如果數字是不重要的 0,系統就不會顯示。舉例來說,數字格式 ##0 會將數字 12 轉譯為「12 」。 |
? |
代表數字中的一個數字。如果數字是不明顯的 0,會顯示為空格。在使用固定寬度字型時,通常可用來對齊資料欄中的小數點。舉例來說,數字格式 ???.??? 會將數字 12.4 轉譯為:「12.4 」。 |
. |
第一個句號代表數字中的小數點。後續的時段則會以常值呈現。即使您在格式中加入小數點,系統一律會顯示該小數點,即使是整數也一樣。舉例來說,#0.# 會將數字 3 轉譯為「3. 」。 |
% |
顯示為常值,但同時還會導致現有數字在算繪前乘以 100,讓百分比更容易判讀。舉例來說,數字格式 #% 會將數字 0.25 轉譯為「25% 」。 |
, |
如果出現在兩位數字元 (0 、# 或 ? ) 之間,系統會使用群組分隔符 (以千位數分組) 呈現整個數字。如果後面是數字字元,則每個數字會增加一千次 (例如,#0.0,, 格式會將數字 12,200,000 轉譯為 12.2 )。 |
E- |
以科學格式轉譯數字,將格式顯示在非指數部分的 E 左側,並將格式顯示在用於指數部分的 E 右側。E+ 顯示正指數的 + 正負號。E- 只會顯示負指數的正負號。如果使用小寫,輸出 e 也會轉換為小寫。舉例來說,數字格式 ##0.00#E+## 會將數字 0.0000001 顯示為「100.00E-9 」。 |
E+ |
|
e- |
|
e+ |
|
/ |
如果出現在兩位數字元 (0 、# 或 ? ) 中,系統會將這些數字組視為分數格式。舉例來說,數字格式 0 #/# 會將數字 23.25 轉譯為 23 1/4 。分母也可以是常值整數,在此情況下,系統會將該整數強制設為分母。數字格式 0 #/8 會將數字 23.25 顯示為 23 2/8 。如果分子值變成 0,則分數部分不會顯示。數字格式 0 #/3 的數字 23.1 會顯示為 23 (因為 0.1 會四捨五入為 0/3)。/ 與科學格式或包含小數點的格式不相容。 |
* |
這項更新是為了與 Microsoft Excel 數字格式相容。目前已忽略。 |
_ |
底線符記會略過下一個字元,並顯示空格。可用來與數字格式對齊,其中負值會以括號括住。 |
\ |
將下一個字元視為常值,而非其可能有的特殊意義。舉例來說,數字格式 \#0 會將數字 10 轉譯為「#10 」。 |
"text" |
以常值形式顯示所有引號內的文字。 |
@ |
如果儲存格含有文字輸入內容,則會在儲存格中插入原始文字。與任何其他特殊字元不相容,無法顯示數值 (以一般格式顯示)。 |
$ - + ( ) : space |
Google 試算表會將這些字元視為常值,並顯示不變。 |
中繼操作說明
此外,每個格式區段都可以在格式前面的 []
個字元前面加上選用中繼指示,並提供其他指示。有兩種中繼指示類型,特定區段皆可同時使用:
操作說明 | 說明 |
---|---|
[condition] |
將區段的預設正數、負數或零比較替換為其他條件運算式。舉例來說,[<100]”Low”;[>1000]”High”;000 會在值小於 100 時顯示「低」;超過 1000 時則會顯示「高」字樣,並在中間顯示三位數數字 (在前面加上 0)。條件只能套用至前兩個子格式,如果數字符合多種子格式,則會使用第一個相符的子格式。如果有第三個格式,則會用於「其他」;如果數字不符合任一格式,則會顯示為全部「#」填滿儲存格寬度。如果存在,則會一律用於文字。 |
[Color] or [Color#] |
讓這個子格式轉譯的任何值與指定文字顏色一併顯示。Color 的有效值包括「Black」、「Blue」、「Cyan」、「Green」、「Magenta」、「Red」、「White」或「Yellow」。Color# 中「#」的有效值為 0&ndash1;56 (這個調色盤會顯示與每個數字對應的顏色清單)。數字格式顏色會覆寫任何使用者在儲存格中輸入的顏色,但不會覆寫條件式格式設定所設定的顏色。 |
數字格式範例
下表列出部分模式範例,以及對應的格式數字算繪:
編號 | 模式 | 格式化值 |
---|---|---|
12345.125 | ####.# |
1,2345.1 |
12.34 | 000.0000 |
$12.3400 美元 |
12 | #.0# |
12.0 |
5.125 | # ???/??? |
5 1/8 吋 |
12000 | #,### |
12,000 |
1230000 | 0.0,,"M" |
120 萬 |
1234500000 | 0.00e+00 |
1.23e+09 |
123114.15115 MyText |
###0.000;"TEXT: "_(@_) |
123114.151 文字:MyText |
1234 -1234 0 MyText |
[Blue]#,##0;[Red]#,##0;[Green]0.0;[Magenta]_(@_) |
1,234 1,234 0.0 MyText |
1005 32 527 號 |
[>1000]"HIGH";[Color43][<=200]"LOW";0000 |
高 低 0527 |