Dokumen ini menjelaskan cara menentukan pola format tanggal dan angka baru, yang dapat Anda sertakan dalam permintaan API.
Format tanggal-waktu dan angka memungkinkan Anda mengontrol tampilan data di sheet. Google Spreadsheet menyediakan beberapa format umum yang dapat dipilih, tetapi Anda juga dapat menentukan format sendiri.
Di UI Spreadsheet, Anda menerapkan format angka dan tanggal ke sel
menggunakan menu Format > Angka. Di Google Sheets API, Anda menetapkan format ini menggunakan panggilan metode spreadsheets.batchUpdate untuk mengirim UpdateCellsRequest atau RepeatCellRequest.
Dalam permintaan, Anda mengonfigurasi objek
NumberFormat
dengan menentukan
NumberFormatType
(seperti NUMBER, CURRENCY, PERCENT, DATE, atau TIME) dan string
pattern opsional. Jika Anda menghilangkan pattern, Spreadsheet akan menggunakan pola format default untuk type yang ditentukan berdasarkan locale spreadsheet (misalnya, $1,000.12 untuk CURRENCY di en_US).
Contoh Menetapkan format tanggal dan waktu atau desimal kustom untuk rentang menunjukkan cara menetapkan pola format menggunakan Sheets API. Perhatikan bahwa rendering format yang sebenarnya bergantung pada locale spreadsheet.
Dokumen ini mengasumsikan bahwa locale adalah en_US. Anda dapat menentukan locale spreadsheet dengan membaca objek SpreadsheetProperties menggunakan metode spreadsheets.get pada resource spreadsheets.
Untuk contoh lainnya, lihat Pemformatan dasar dan Pemformatan bersyarat.
Tentang nilai tanggal dan waktu
Spreadsheet, seperti kebanyakan aplikasi spreadsheet lainnya, memperlakukan nilai tanggal dan waktu sebagai nilai desimal. Hal ini memungkinkan Anda melakukan aritmetika pada tanggal dan waktu dalam formula, sehingga Anda dapat menambah hari atau minggu, menambah atau mengurangi dua tanggal dan waktu, serta melakukan operasi serupa lainnya.
Spreadsheet menggunakan bentuk tanggal epoch yang umum digunakan dalam spreadsheet. Bagian bilangan bulat dari nilai (di sebelah kiri desimal) menghitung
hari sejak 30 Desember 1899. Bagian pecahan (di sebelah kanan desimal)
menghitung waktu sebagai pecahan dari satu hari. Misalnya, 1 Januari 1900 pada siang hari
adalah 2.5, 2 karena 2 hari setelah 30 Desember 1899, dan 0.5 karena
siang hari adalah setengah hari. 1 Februari 1900 pukul 15.00 adalah 33.625.
Spreadsheet memperlakukan tahun 1900 dengan benar sebagai tahun biasa, bukan tahun kabisat. Nomor seri tanggal dan waktu tidak menyimpan selisih zona waktu. Sebagai gantinya,
ID tersebut didasarkan pada
timeZone spreadsheet,
yang dapat Anda baca dari
objek SpreadsheetProperties
menggunakan
metode spreadsheets.get.
Pola format tanggal dan waktu
Pola format tanggal-waktu adalah string substring token yang diganti Spreadsheet dengan elemen tanggal-waktu yang sesuai (seperti bulan atau jam) saat diurai.
Token format tanggal dan waktu
Tabel berikut menentukan substring token yang dapat Anda gunakan dalam pola format tanggal-waktu. Karakter + menunjukkan bahwa karakter sebelumnya dapat muncul
satu atau beberapa kali dan masih cocok dengan pola. Spreadsheet memperlakukan karakter yang tidak tercantum dalam tabel ini sebagai literal dan menampilkannya tanpa perubahan.
| Token | Deskripsi |
|---|---|
h |
Jam. Beralih antara format 12 dan 24 jam, bergantung pada apakah indikator AM atau PM ada dalam string. |
hh+ |
Sama seperti sebelumnya, tetapi dengan angka 0 di depan untuk 1-9. |
m |
Jika token non-literal sebelumnya adalah jam atau token berikutnya adalah detik, token ini mewakili menit dalam jam (tanpa angka 0 di depan). Jika tidak, bulan dalam setahun akan direpresentasikan sebagai angka (tanpa angka 0 di depan). |
M |
Bulan dalam tahun tanpa awalan 0. Gunakan token ini untuk menyatakan bulan secara eksplisit, bukan menit, dalam pola Anda. |
mm |
Sama seperti m, tetapi dengan angka 0 di awal untuk kedua kasus. |
MM |
Bulan dalam tahun dengan awalan 0. Gunakan token ini untuk menyatakan bulan, bukan menit, secara eksplisit dalam pola Anda. |
mmm |
Singkatan bulan tiga huruf (misalnya, "Feb"). |
mmmm |
Nama bulan lengkap. mmmmmm+ juga cocok dengan ini. |
mmmmm |
Huruf pertama bulan (misalnya, "J" untuk Juni). |
s |
Detik dalam menit tanpa angka 0 di awal. |
ss |
Detik dalam menit dengan awalan 0. |
[h+] |
Jumlah jam yang berlalu dalam durasi waktu. Jumlah huruf menunjukkan jumlah digit minimum (menambahkan angka 0 di awal). |
[m+] |
Jumlah menit yang berlalu dalam durasi waktu. Jumlah huruf menunjukkan jumlah digit minimum (menambahkan angka 0 di awal). |
[s+] |
Jumlah detik yang berlalu dalam durasi waktu. Jumlah huruf menunjukkan jumlah digit minimum (menambahkan angka 0 di awal). |
d |
Tanggal, tanpa angka 0 di depan untuk angka kurang dari 10. |
dd |
Tanggal, dengan angka 0 di depan untuk angka kurang dari 10. |
ddd |
Hari dalam seminggu, singkatan tiga huruf (misalnya, "Mon"). |
dddd+ |
Hari dalam seminggu, nama lengkap. |
y |
Tahun 2 digit. |
yy |
|
yyy |
4 digit tahun. |
yyyy+ |
|
a/p |
Menampilkan "a" untuk AM, dan "p" untuk PM. Juga mengubah jam menjadi format 12 jam. Jika huruf token menggunakan huruf kapital, outputnya juga akan menggunakan huruf kapital. |
am/pm |
Seperti di atas, tetapi menampilkan "AM" atau "PM" dan selalu menggunakan huruf kapital. |
0 |
Sepersepuluh detik. Anda dapat meningkatkan presisi menjadi dua digit dengan
00 atau tiga digit (milidetik) dengan 000. |
\ |
Memperlakukan karakter berikutnya sebagai nilai literal dan bukan arti khusus yang mungkin dimilikinya. |
"text" |
Menampilkan teks apa pun di dalam tanda kutip sebagai literal. |
Contoh format tanggal dan waktu
Dengan tanggal dan waktu Tuesday, April 5, 2016, 4:08:53.528 PM, tabel
berikut menunjukkan beberapa contoh pola dan rendering tanggal-waktu
yang sesuai. Bagian kedua tabel menunjukkan contoh format waktu berlalu untuk waktu berlalu 3 hours, 13 minutes, 41.255 seconds:
| Pola Tanggal-Waktu | 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 April [Selasa] |
h PM, ddd mmm dd |
16.00, Sel 05 Apr |
dddd, m/d/yy at h:mm |
Selasa, 5/4/16 pukul 16.08 |
| Pola Waktu Berlalu | 3 hours, 13 minutes, 41.255 seconds |
[hh] |
03 |
[mmmm] |
0193 |
[ss] |
11621 |
Pola format angka
Pola format angka adalah string substring token yang diganti oleh Spreadsheet dengan representasi angka yang sesuai saat diurai. Pola format angka dapat terdiri dari hingga empat bagian, yang dipisahkan dengan titik koma, yang menentukan format terpisah yang digunakan untuk angka positif, angka negatif, nol, dan teks (dalam urutan tersebut):
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]
Anda tidak perlu menyertakan keempat bagian dalam satu format. Jika Anda hanya menyertakan satu bagian, Spreadsheet akan menggunakan format tersebut untuk semua nilai. Menggunakan dua bagian akan menerapkan format pertama ke angka nol dan positif, serta format kedua ke angka negatif. Menggunakan tiga bagian akan menentukan format terpisah untuk angka positif, negatif, dan nol. Contoh:
[NUMBER FORMAT] [POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT] [POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT]
Namun, jika ada dua bagian atau lebih dan bagian terakhir adalah format teks, Spreadsheet akan memperlakukan bagian tersebut sebagai format teks dan bagian lainnya akan berperilaku seolah-olah ada satu bagian yang lebih sedikit. Dengan demikian, dengan menyertakan format teks akhir, Anda dapat menentukan format seperti:
[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT];[TEXT FORMAT] [NUMBER FORMAT];[TEXT FORMAT]
Penguraian format menjadi beberapa bagian terjadi sebelum penguraian lainnya, sehingga format tanggal atau waktu dapat disertakan sebagai salah satu bagian (meskipun hal ini memiliki kegunaan yang terbatas).
Token format angka
Tabel berikut menentukan substring token yang dapat Anda gunakan di bagian format untuk menentukan cara menampilkan nilai untuk bagian tersebut.
| Token | Deskripsi |
|---|---|
0 |
Mewakili digit dalam angka. Jika digitnya adalah 0 yang tidak signifikan,
digit tersebut akan dirender sebagai 0. Misalnya, format angka
00.0 merender angka 3 sebagai "03.0". |
# |
Mewakili digit dalam angka. Jika digitnya adalah 0 yang tidak signifikan,
digit tersebut tidak akan dirender. Misalnya, format angka ##0
merender angka 12 sebagai "12". |
? |
Mewakili digit dalam angka. Jika digitnya adalah 0 yang tidak signifikan,
digit tersebut akan dirender sebagai spasi. Hal ini sering digunakan untuk menyelaraskan tanda desimal dalam kolom saat menggunakan font dengan lebar tetap. Misalnya, format angka
???.??? merender angka 12,4 sebagai:
" 12.4 ". |
. |
Titik pertama mewakili tanda desimal dalam angka. Titik berikutnya dirender sebagai literal. Jika Anda menyertakan tanda desimal dalam
format, tanda tersebut akan selalu dirender, bahkan untuk bilangan bulat. Misalnya,
#0.# merender angka 3 sebagai "3.". |
% |
Muncul sebagai literal, tetapi juga menyebabkan angka yang ada dikalikan
dengan 100 sebelum dirender agar persentase lebih
mudah dibaca. Misalnya, format angka #%
merender angka 0,25 sebagai "25%". |
, |
Jika muncul di antara karakter dua digit (0,
#, atau ?), karakter ini akan merender seluruh angka
dengan pemisah pengelompokan (pengelompokan berdasarkan ribuan). Jika mengikuti
karakter digit, koma akan menskalakan digit sebesar seribu per
koma (misalnya, format #0.0,, merender angka
12.200.000 sebagai 12.2). |
E- |
Merender angka dalam format ilmiah, dengan
pemformatan di sebelah kiri E yang digunakan untuk bagian non-eksponen
dan pemformatan di sebelah kanan E yang digunakan untuk bagian
eksponen. E+ menampilkan tanda + untuk eksponen positif. E- hanya menampilkan tanda untuk eksponen negatif. Jika
huruf kecil digunakan, output e juga akan menggunakan huruf kecil.
Misalnya, format angka ##0.00#E+##
merender angka 0,0000001 sebagai "100.00E-9". |
E+ |
|
e- |
|
e+ |
|
/ |
Jika muncul di antara karakter dua digit (0,
#, atau ?), karakter tersebut akan memperlakukan grup digit tersebut sebagai
format pecahan. Misalnya, format angka 0 #/# merender
angka 23,25 sebagai 23 1/4. Penyebut
juga dapat berupa literal bilangan bulat, yang dalam hal ini menerapkan bilangan bulat tersebut sebagai
penyebut. Format angka 0 #/8
menampilkan angka 23,25 sebagai 23 2/8. Bagian pecahan tidak
dirender jika pembilangnya menjadi 0. Angka
23,1 dengan format angka 0 #/3 dirender sebagai
23 saja (karena 0,1 dibulatkan menjadi 0/3). / tidak
kompatibel dengan format ilmiah atau format yang memiliki tanda desimal
di dalamnya. |
* |
Disertakan untuk kompatibilitas dengan format angka Microsoft Excel. Spreadsheet mengabaikan token ini. |
_ |
Melewati karakter berikutnya dan merender spasi. Gunakan token ini untuk menyelaraskan format angka yang menggunakan tanda kurung untuk nilai negatif. |
\ |
Memperlakukan karakter berikutnya sebagai nilai literal dan bukan arti khusus yang mungkin dimilikinya. Misalnya, format angka \#0
merender angka 10 sebagai "#10". |
"text" |
Menampilkan teks apa pun di dalam tanda kutip sebagai literal. |
@ |
Jika sel memiliki input teks, sel akan menyisipkan teks mentah untuk sel tersebut. Tidak kompatibel dengan karakter khusus lainnya dan tidak ditampilkan untuk nilai numerik (yang ditampilkan sebagai format umum). |
$ - + ( ) : space |
Spreadsheet memperlakukan karakter ini dan simbol mata uang umum (seperti $, €, £, dan ¥) sebagai literal dan menampilkannya tanpa perubahan. |
Petunjuk meta
Selain itu, setiap bagian format dapat memiliki petunjuk meta opsional,
yang diapit karakter [], yang mendahului format dan memberikan petunjuk
tambahan:
| Petunjuk | Deskripsi |
|---|---|
[condition] |
Mengganti perbandingan positif, negatif, atau nol default dari
bagian dengan ekspresi bersyarat lain. Misalnya,
[<100]"Low";[>1000]"High";000 merender kata
"Low" untuk nilai di bawah 100, "High" untuk nilai di atas 1000, dan angka tiga digit (dengan angka 0 di awal) untuk nilai di antaranya. Anda hanya dapat menerapkan
kondisi ke dua subformat pertama, dan jika sebuah angka cocok dengan lebih dari
satu, Spreadsheet akan menggunakan kecocokan pertama. Jika ada format ketiga, Spreadsheet akan menggunakannya untuk "hal lainnya"; jika tidak, jika
angka tidak cocok dengan salah satu format, Spreadsheet akan merender semua karakter "#"
di seluruh lebar sel. Jika ada, format keempat selalu digunakan untuk teks. |
[Color] or [Color#] |
Menyebabkan nilai apa pun yang dirender sub-format ini muncul dengan
warna teks yang diberikan. Nilai yang valid untuk Color adalah Black,
Blue, Cyan, Green, Magenta, Red, White, atau Yellow.
Nilai yang valid untuk "#" di Color# adalah dari 1 hingga 56. Warna format angka menggantikan warna apa pun yang dimasukkan pengguna pada sel, tetapi tidak menggantikan warna yang ditetapkan oleh pemformatan bersyarat. Palet warna
ini menampilkan daftar warna yang sesuai dengan setiap angka. Fungsi ini didasarkan pada properti ColorIndex di Microsoft Excel. |
[$currency] |
Menampilkan simbol atau kode mata uang yang ditentukan sebagai literal (misalnya, [$€]#,##0.00 atau [$CAD]#,##0.00). Jika Anda menyertakan kode lokalitas opsional setelah tanda hubung (seperti [$CAD-1009]), Spreadsheet akan mengabaikan kode lokalitas tersebut. |
Contoh format angka
Tabel berikut menampilkan beberapa contoh pola dan rendering angka berformat yang sesuai:
| Angka | Pola | Nilai Terformat |
|---|---|---|
| 12345.125 | ####.# |
12345.1 |
| 12,34 | 000.0000 |
012,3400 |
| 12 | #.0# |
12.0 |
| 5,125 | # ???/??? |
5 1/8 |
| 12000 | #,### |
12.000 |
| 1234.56 -1234.56 |
$#,##0.00;($#,##0.00) |
$1.234,56 ($1.234,56) |
| 1230000 | 0.0,,"M" |
1,2 JT |
| 1234500000 | 0.00e+00 |
1,23e+09 |
| 123114.15115 MyText |
###0.000;"TEXT: "_(@_) |
123114.151 TEXT: 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 |
TINGGI RENDAH 0527 |