날짜 및 숫자 형식

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

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

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

날짜 및 시간 값에 대한 정보

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

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

Sheets에서는 1900년을 윤년이 아닌 평년으로 올바르게 처리합니다.

날짜 및 시간 형식 패턴

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

날짜 및 시간 형식 토큰

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

토큰 설명
h 시간입니다. 문자열에 AM 또는 PM 표시기가 있는지 여부에 따라 12시간 형식과 24시간 형식 간에 전환합니다.
hh+ 이전과 동일하지만 1에서 9로 앞에 0이 옵니다.
m 리터럴이 아닌 이전 토큰이 '시간'이거나 후속 토큰이 '초'인 경우, '시간'의 분 (앞에 있는 0 없음)을 나타냅니다. 그렇지 않으면 1개월을 숫자로 표현합니다 (선행 0 없음).
M 월(앞에 0이 없음) 이 토큰을 사용하여 패턴에서 1분이 아닌 월을 명시합니다.
mm m와 동일하지만 두 경우 모두 앞에 0이 옵니다.
MM 월(앞에 0 표시) 이 토큰을 사용하여 패턴에서 1분이 아닌 월을 명시합니다.
mmm 3자리 월 약어 (예: '2월')
mmmm 월 이름. mmmmmm+도 일치합니다.
mmmmm 월의 첫 번째 문자입니다 (예: 6월의 경우 'J').
s 1분 기준의 초로, 앞에 0이 표시되지 않습니다.
ss 1분 기준의 초로, 앞에 0이 옵니다.
[h+] 특정 기간 동안 경과된 시간입니다. 문자 수는 최소 자릿수를 나타냅니다 (앞에 0 추가).
[m+] 특정 기간의 경과 시간(분) 문자 수는 최소 자릿수를 나타냅니다 (앞에 0 추가).
[s+] 특정 기간(초)에 경과된 시간(초)입니다. 문자 수는 최소 자릿수를 나타냅니다 (앞에 0 추가).
d 10보다 작은 숫자에 대해 앞에 0이 없는 일
dd 10일 미만의 경우 앞에 0이 있는 일
ddd 요일, 3자 약어 (예: '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월 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:41255

숫자 형식 패턴

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

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

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

[NUMBER FORMAT]
[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT]
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT]

그러나 섹션이 2개 이상이고 마지막 섹션이 텍스트 형식인 경우 해당 섹션은 텍스트 형식으로 취급되고 나머지 섹션은 섹션이 하나 적은 것처럼 작동합니다. 따라서 최종 텍스트 형식을 포함하면 다음과 같은 형식을 정의할 수 있습니다.

[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, #, ?) 사이에 나타나는 경우 전체 구분자를 그룹화 구분 기호 (천 단위로 그룹화)로 렌더링합니다. 숫자 문자를 따르는 경우 쉼표당 1,000으로 숫자를 조정합니다 (예: #0.0,, 형식은 숫자 12,200,000을 12.2으로 렌더링함).
E- 숫자를 과학 형식의 형식으로 렌더링합니다. 비지수 부분에는 E 왼쪽에 있는 형식을 사용하고 지수 부분에는 E 오른쪽에 서식을 지정합니다. E+는 양수 지수의 + 기호를 표시합니다. E-는 음수 지수의 부호만 표시합니다. 소문자를 사용하면 출력 e도 소문자로 표시됩니다.
E+
e-
e+
/ 두 자리 문자 (0, #, ?) 사이에 나타나는 경우 해당 숫자 그룹을 분수 형식으로 취급합니다. 예를 들어 숫자 형식 0 #/#는 숫자 23.25를 23 1/4로 렌더링합니다. 분모도 리터럴 정수일 수 있으며 이 경우 정수를 분모로 적용합니다. 숫자 형식 0 #/8는 숫자 23.25를 23 2/8로 표시합니다. 분자가 0이 되면 분수 부분이 렌더링되지 않습니다. 숫자 형식이 0 #/3인 숫자 23.1은 0.1이 0/3으로 반올림되므로 23으로 렌더링됩니다. /은 과학적 형식 또는 소수점이 있는 형식과 호환되지 않습니다.
* Microsoft Excel 숫자 형식과의 호환성을 위해 포함되어 있습니다. 현재 무시됩니다.
_ 다음 문자를 건너뛰고 공백을 렌더링합니다. 음수 값을 괄호로 묶는 숫자 형식을 정렬하는 데 사용됩니다.
\ 다음 문자를 리터럴 값으로 취급하며, 특별한 의미를 지니지 않습니다.
"text" 따옴표 안에 있는 모든 텍스트를 리터럴로 표시합니다.
@ 셀에 텍스트 입력이 있는 경우 셀의 원시 텍스트를 삽입합니다. 다른 특수문자와 호환되지 않으며 일반 값 형식의 숫자 값에는 표시되지 않습니다.
$ - + ( ) : space Sheets에서는 이러한 문자를 리터럴로 취급하여 변경하지 않고 표시합니다.

메타 안내

또한 각 형식 섹션에는 형식 앞에 [] 문자를 넣고 추가 안내를 제공하는 메타 명령(선택사항)을 사용할 수 있습니다. 메타 명령에는 2가지 유형이 있으며 주어진 섹션에서는 두 가지를 모두 사용할 수 있습니다.

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

숫자 형식의 예

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

숫자 패턴 서식 있는 값
12,345.125 ####.# 12,345.1
12.34 000.0000 012.340
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
내 텍스트
###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