日期(&P);數字格式

透過日期時間和數字格式控制資料在試算表中的顯示方式。Google 試算表提供一些常用格式可供選擇,但您也可以定義自己的格式。

在試算表 UI 中,透過「Format」(格式) >「Number」(數字) 選單,即可為儲存格套用數字和日期格式。在試算表 API 中,您可以使用 spreadsheets.batchUpdate 方法呼叫來設定這些格式,並傳送 UpdateCellsRequestRepeatCellRequest

本頁面說明如何定義新的日期和數字格式模式,您可以在 API 要求中加入這些模式。「為特定範圍設定自訂日期時間或小數格式」範例說明如何使用 API 設定格式模式。請注意,格式的實際算繪取決於試算表的 locale。本指南假設 localeen_US。您可以讀取 SpreadsheetPropertiesspreadsheets.get 要求,判斷試算表的 locale

關於日期和時間值

如同其他大多數試算表應用程式,Google 試算表會將日期和時間值視為小數值。這樣就能對公式執行算術,因此您可增加或減少天或週數、加上或減去兩個日期和時間,並執行其他類似的運算。

Google 試算表採用的週期日期格式,通常用於試算表。值的整數部分 (小數左側) 會計算自 1899 年 12 月 30 日以來的天數。分數部分 (小數點右側) 會將時間以一天的分數計算。舉例來說,1900 年 1 月 1 日中午是 2.52 是 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