날짜 및 숫자 형식

날짜-시간 및 숫자 형식을 사용하면 시트에 데이터가 표시되는 방식을 관리할 수 있습니다. Google 시트에서는 선택할 수 있는 일반적인 형식을 제공하지만 나만의 형식을 정의할 수도 있습니다.

Sheets UI에서 서식 > 숫자 메뉴를 사용하여 셀에 숫자 및 날짜 형식을 적용합니다. Sheets API에서는 spreadsheets.batchUpdate 메서드 호출을 사용하여 이러한 형식을 설정하여 UpdateCellsRequest 또는 RepeatCellRequest를 전송합니다.

이 페이지에서는 API 요청에 포함할 수 있는 새로운 날짜 및 숫자 형식 패턴을 정의하는 방법을 설명합니다. 범위의 커스텀 날짜/시간 또는 십진수 형식 설정 샘플은 API를 사용하여 형식 패턴을 설정하는 방법을 보여줍니다. 형식의 실제 렌더링은 스프레드시트의 locale에 따라 다릅니다. 이 가이드에서는 localeen_US이라고 가정합니다. 스프레드시트의 localespreadsheets.get 요청으로 SpreadsheetProperties를 읽어 확인할 수 있습니다.

날짜 및 시간 값 정보

시트는 대부분의 다른 스프레드시트 애플리케이션과 마찬가지로 날짜 및 시간 값을 십진수 값으로 처리합니다. 이렇게 하면 공식에서 날짜 및 시간에 산술을 할 수 있으므로 일 또는 주를 늘리고, 두 개의 날짜와 시간을 더하거나 빼고, 다른 유사한 작업을 수행할 수 있습니다.

스프레드시트는 스프레드시트에서 일반적으로 사용되는 에포크 날짜 형식을 사용합니다. 값의 정수 부분(소수점의 왼쪽)은 1899년 12월 30일 이후의 일수를 계산합니다. 소수 부분 (소수점의 오른쪽)은 시간을 하루의 분수로 계산합니다. 예를 들어 1900년 1월 1일 정오는 2.5, 1899년 12월 30일 후 2일이므로 2, 정오는 반일이므로 0.5입니다. 1900년 2월 1일 오후 3시는 33.625입니다.

스프레드시트에서는 1900년을 윤년이 아닌 일반 연도로 올바르게 취급합니다.

날짜 및 시간 형식 패턴

날짜-시간 형식 패턴은 파싱될 때 상응하는 날짜-시간 요소 (예: 월 또는 시간)로 대체되는 토큰 하위 문자열의 문자열입니다.

날짜 및 시간 형식 토큰

다음 표에서는 날짜-시간 형식 패턴에 사용할 수 있는 토큰 하위 문자열을 정의합니다. + 문자는 이전 문자가 한 번 이상 나타날 수 있으며 여전히 패턴과 일치할 수 있음을 나타냅니다. 아래 표에 나열되지 않은 문자는 리터럴로 취급되며 변경 없이 출력됩니다.

토큰 설명
h 시간대입니다. 문자열에 AM 또는 PM 표시가 있는지에 따라 12시간 형식과 24시간 형식 간에 전환합니다.
hh+ 이전과 동일하지만 1-9 앞에 0이 붙습니다.
m 리터럴이 아닌 이전의 토큰이 시간이었거나 후속 토큰이 초인 경우, 시간 단위 분을 나타냅니다 (앞에 0 없음). 그렇지 않으면 월을 선행 0 없이 숫자로 표시합니다.
M 앞에 0이 없는 월입니다. 이 토큰을 사용하여 패턴에 1분이 아닌 월을 명시적으로 표시합니다.
mm m와 동일하지만 두 경우 모두 앞에 0이 붙습니다.
MM 앞에 0이 있는 월입니다. 이 토큰을 사용하여 패턴에 1분이 아닌 월을 명시적으로 표시합니다.
mmm 월의 세 글자 약어 (예: 'Feb')
mmmm 월 이름입니다. mmmmmm+도 이 항목과 일치합니다.
mmmmm 월의 첫 번째 글자입니다 (예: 6월의 경우 'J').
s 분에서 초를 나타내며 앞에 0이 없음.
ss 분에서 초를 나타내며 앞에 0이 있음.
[h+] 일정 기간에서 경과된 시간입니다. 문자 수는 최소 자릿수를 나타냅니다 (선행 0 추가).
[m+] 기간에서 경과된 시간(분)입니다. 문자 수는 최소 자릿수를 나타냅니다 (선행 0 추가).
[s+] 기간에서 경과된 시간(초)입니다. 문자 수는 최소 자릿수를 나타냅니다 (선행 0 추가).
d 날짜로, 10보다 작은 경우 앞에 0이 없습니다.
dd 날짜로, 10보다 작은 경우 앞에 0이 표시됩니다.
ddd 요일, 세 글자 약어 (예: 'Mon')
dddd+ 요일(전체 이름)입니다.
y 2자리 연도.
yy
yyy 4자리 연도
yyyy+
a/p AM은 'a', PM은 'p'로 표시합니다. 또한 시간을 12시간 형식으로 변경합니다. 토큰 문자가 대문자이면 출력도 대문자입니다.
am/pm 위와 같지만 'AM' 또는 'PM'을 대신 표시하고 항상 대문자로 표기합니다.
0 10분의 1초입니다. 00를 사용하면 정밀도를 2자리로, 000를 사용하면 3자리 (밀리초)로 높일 수 있습니다.
\ 다음 문자를 리터럴 값으로 취급하며 특별한 의미가 아닙니다.
"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시, 4월 5일 화요일
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

숫자 서식 패턴

숫자 형식 패턴은 파싱 시 해당 숫자 표현으로 대체되는 토큰 하위 문자열의 문자열입니다. 숫자 형식 패턴은 세미콜론으로 구분된 최대 4개의 섹션으로 구성될 수 있으며, 양수, 음수, 0, 텍스트에 사용되는 개별 형식을 순서대로 정의합니다.

[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]

한 형식에 4개의 섹션을 모두 포함할 필요는 없습니다. 섹션을 하나만 포함하면 모든 값에 이 형식이 사용됩니다. 두 섹션을 사용하면 첫 번째 형식이 0과 양수에 적용되고 두 번째 형식이 음수에 적용됩니다. 세 개의 섹션을 사용하면 양수, 음수, 0 숫자에 별도의 형식을 정의합니다. 예를 들면 다음과 같습니다.

[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, # 또는 ?) 사이에 나타나는 경우 천 단위로 그룹화하여 그룹화 구분자로 전체 숫자를 렌더링합니다. 숫자 문자 다음에 오는 경우 쉼표당 1,000 단위로 자릿수를 조정합니다. 예를 들어 #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 스프레드시트에서는 이러한 문자를 리터럴로 취급하여 변경하지 않고 표시합니다.

메타 안내

또한 각 형식 섹션에는 형식 앞에 추가 안내를 제공하는 [] 문자로 된 선택적 메타 명령이 있을 수 있습니다. 두 가지 메타 명령 유형이 있으며 특정 섹션에서 둘 다 사용할 수 있습니다.

지침 설명
[condition] 섹션의 기본 양수, 음수 또는 0 비교를 다른 조건식으로 바꿉니다. 예를 들어 [<100]”Low”;[>1000]”High”;000는 값이 100 미만이면 'Low'라는 단어를 렌더링하고 1000보다 큰 경우 'High'를 렌더링하며 1,000보다 큰 경우 3자리 숫자 (선행 0 있음)를 렌더링합니다. 조건은 처음 두 개의 하위 형식에만 적용할 수 있으며 숫자가 2개 이상과 일치하는 경우 첫 번째로 일치하는 형식을 사용합니다. 세 번째 형식이 있으면 '기타'에 사용되고, 숫자가 두 형식과 일치하지 않으면 셀 너비를 채우는 모든 '#'으로 렌더링됩니다. 있는 경우 네 번째 형식이 항상 텍스트에 사용됩니다.
[Color] or [Color#] 이 하위 형식이 렌더링하는 모든 값이 지정된 텍스트 색상으로 표시되도록 합니다. 유효한 Color 값은 검은색, 파란색, 녹청색, 녹색, 자홍색, 빨간색, 흰색 또는 노란색입니다. Color#의 유효한 '#' 값은 0~56입니다 (이 색상 팔레트는 각 숫자에 해당하는 색상 목록을 보여줍니다). 숫자 서식 색상은 사용자가 셀에 입력한 색상보다 우선 적용되지만, 조건부 서식으로 설정된 색상은 재정의하지 않습니다.

숫자 형식의 예

다음 표에서는 몇 가지 예시 패턴과 이에 해당하는 서식이 지정된 숫자 렌더링을 보여줍니다.

숫자 패턴 서식이 지정된 값
12345.125 ####.# 12,345.1
12.34 000.0000 012.3400
12 #.0# 12.0
5,125만 # ???/??? 5.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
1,005
32
527
[>1000]"HIGH";[Color43][<=200]"LOW";0000 높음
낮음
0527