날짜 및 숫자 형식

날짜-시간 및 숫자 형식을 사용하면 데이터가 시트에 표시되는 방식을 제어할 수 있습니다. Google 스프레드시트에서는 몇 가지 일반적인 형식을 선택할 수 있으며, 사용자가 직접 형식을 정의할 수도 있습니다.

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

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

날짜 및 시간 값에 대한 정보

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

Sheets에서는 스프레드시트에서 일반적으로 사용되는 에포크 날짜 형식을 사용합니다. 값의 정수 부분(소수점의 왼쪽)은 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분이 아닌 1개월을 명시하세요.
mm m와 동일하지만 두 경우 모두 앞에 0이 붙습니다.
MM 월(앞에 0이 붙은) 이 토큰을 사용하여 패턴에 1분이 아닌 1개월을 명시하세요.
mmm 월 세 글자 약어 (예: 'Feb')
mmmm 전체 월 이름입니다. mmmmmm+도 이 항목과 일치합니다.
mmmmm 월의 첫 번째 문자 (예: 6월의 경우 'J')
s 분에서 초를 나타내며 선행 0이 없습니다.
ss 1분에서 초로, 앞에 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를 사용하면 정밀도를 두 자리로, 000를 사용하면 세 자리 자릿수 (밀리초)로 정밀도를 높일 수 있습니다.
\ 다음 문자를 리터럴 값으로 처리하며, 특별한 의미가 없습니다.
"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 p
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

숫자 서식 패턴

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

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

한 형식에 네 개의 섹션을 모두 포함할 필요는 없습니다. 섹션을 하나만 포함하는 경우 해당 형식이 모든 값에 사용됩니다. 섹션 2개를 사용하면 첫 번째 형식이 0과 양수에 적용되고 두 번째 형식이 음수에 적용됩니다. 3개의 섹션을 사용하면 양수, 음수, 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 Sheets에서는 이러한 문자를 리터럴로 취급하여 변경하지 않고 표시합니다.

메타 안내

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

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

숫자 형식의 예

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

숫자 패턴 형식이 지정된 값
12345125 ####.# 12345.1
12.34 000.0000 012.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
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 높음
낮음
0527