날짜 및 숫자 형식

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

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

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

날짜 및 시간 값 정보

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

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

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

날짜 및 시간 형식 패턴

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

날짜 및 시간 형식 토큰

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

토큰 설명
h 하루 중 시간입니다. 문자열에 AM 또는 PM 표시기가 있는지에 따라 12시간제와 24시간제 간에 전환합니다.
hh+ 이전과 동일하지만 1~9의 경우 선행 0이 추가됩니다.
m 이전의 리터럴이 아닌 토큰이 시간 또는 후속 토큰이 초인 경우 시간의 분을 나타냅니다 (앞의 0 제외). 그렇지 않으면 월을 숫자로 나타냅니다 (앞에 0이 없음).
M 앞에 0이 없는 월입니다. 이 토큰을 사용하여 패턴에서 분 대신 월을 명시합니다.
mm m와 동일하지만 두 경우 모두 선행 0이 있습니다.
MM 연도의 월(앞에 0 표시) 이 토큰을 사용하면 패턴에서 분 대신 월을 명시할 수 있습니다.
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 0.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." 오후 4시 8분
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, 텍스트에 사용되는 별도의 형식을 정의하는 세미콜론으로 구분된 최대 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.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+
/ 숫자 2자리 (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 미만의 값에는 '낮음'이라는 단어를, 1,000을 초과하는 값에는 '높음'이라는 단어를, 그 사이의 값에는 3자리 숫자 (앞에 0이 추가됨)를 렌더링합니다. 조건은 처음 두 가지 하위 형식에만 적용할 수 있으며 숫자가 두 개 이상 일치하는 경우 일치하는 첫 번째 숫자가 사용됩니다. 세 번째 형식이 있는 경우 '기타'에 사용되고, 그렇지 않은 경우 숫자가 두 형식과도 일치하지 않으면 셀 너비를 채우는 모든 '#'으로 렌더링됩니다. 이 속성이 있는 경우 텍스트에는 항상 네 번째 형식이 사용됩니다.
[Color] or [Color#] 이 하위 형식이 렌더링하는 모든 값이 지정된 텍스트 색상으로 표시됩니다. 유효한 Color 값은 Black, Blue, Cyan, Green, Magenta, Red, White, Yellow입니다. Color#의 '#'에 유효한 값은 1~56입니다. 이 색상 팔레트에는 각 숫자에 해당하는 색상 목록이 표시됩니다. 숫자 형식 색상은 셀에서 사용자가 입력한 색상을 재정의하지만 조건부 서식으로 설정된 색상은 재정의하지 않습니다.

숫자 형식 예시

다음 표에는 패턴 예시와 이에 상응하는 형식 지정된 숫자 렌더링이 나와 있습니다.

숫자 패턴 형식이 지정된 값
12345.125 ####.# 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