에너지 관점 스터디:에관스

컴활 1급 · Access 표시 형식

컴활 1급 Format 함수: 날짜·숫자 형식과 반환값 구분

두음 암기는 값그대·모양만입니다. 값그대는 원래 필드값을 그대로 둔다는 뜻, 모양만은 원하는 표시 모양을 만든다는 뜻입니다. 단, Format 함수로 새로 얻은 결과는 날짜나 숫자가 아니라 문자열이라는 점을 함께 붙여 외우세요.

Format([주문일], "yyyy-mm-dd")는 날짜를 보기 좋은 글자로 만들고, Format([금액], "#,##0.00")는 금액을 자릿수에 맞춘 글자로 만듭니다. 날짜를 더하거나 금액을 계산하는 식과 역할이 다릅니다.

컴활 1급에서 헷갈리는 지점은 월과 분의 기호, 0과 #의 빈 자리, 백분율의 100배 표시, 함수와 형식 속성입니다. 같은 숫자가 보인다고 같은 자료형이라고 판단하지 않도록 짧은 예제와 셀프 체크로 확인하겠습니다.

컴활 1급 Access Format의 날짜 기호, 숫자 자릿수, 문자열 반환, 형식 속성을 값그대·모양만으로 비교한 인포그래픽
값그대·모양만으로 원본과 표시를 분리합니다. 월·분 기호의 문맥, 0·#의 빈 자리, 백분율과 반환 자료형은 본문 예제로 확인하세요.
작성에관스 컴활 1급 학습팀 발행2026년 10월 1일 수정2026년 10월 1일 주제Access 표시 형식

핵심 포인트

이 글에서 먼저 챙길 것

  • Format(expression, format)은 지정한 모양의 문자열, 즉 Variant(String)을 반환합니다.
  • 날짜는 yyyy-mm-dd, 시간은 hh:nn:ss로 읽으면 월과 분을 구분하기 쉽습니다.
  • 0은 부족한 자리를 0으로 채우고 #은 불필요한 자리에 0을 추가하지 않습니다.
  • 0%는 값을 100배 한 백분율 모양으로 표시하며 원래 저장값을 갱신하지 않습니다.
  • 필드·컨트롤의 형식 속성은 저장값을 유지합니다. 함수 결과 문자열과 구별하세요.

본문

컴활 1급 공부 기준을 더 구체적으로 보기

먼저 결론: 함수 결과와 원래 필드값은 다릅니다

Format(expression, format)의 첫 인수는 표현할 값, 두 번째 인수는 표시 규칙입니다. 값그대·모양만을 떠올린 뒤 원본과 결과를 따로 보세요. Format을 호출하는 것만으로 테이블의 원래 필드가 갱신되지는 않습니다.

반환 자료형은 Variant(String)입니다. Format(7, "0000")의 결과는 문자열 "0007"이지 숫자 7의 자료형을 그대로 유지한 새 값이 아닙니다. 결과를 변수나 다른 필드에 대입하면 그 대상의 형식에 따른 변환이 별도로 일어날 수 있습니다.

날짜 형식: yyyy, mm, dd의 순서를 읽으세요

그레고리력 기준 Format(DateSerial(2026, 10, 1), "yyyy-mm-dd")는 문자열 "2026-10-01"을 만듭니다. yyyy는 네 자리 연도, mm은 두 자리 월, dd는 두 자리 일입니다. DateSerial은 날짜를 만드는 보조 함수이고 Format은 그 날짜를 글자로 표현합니다.

같은 날짜를 "yyyy년 m월 d일"로 표현하면 "2026년 10월 1일"처럼 한 자리 일에는 앞의 0을 붙이지 않습니다. m과 d는 필요한 숫자만, mm과 dd는 두 자리 표시로 구별하면 됩니다. 날짜 순서나 값 자체를 바꾸는 계산이 아닙니다.

이 글의 날짜 예제는 그레고리력 설정을 전제로 합니다. 날짜 구분 기호 /와 월·요일 이름 등은 지역 설정의 영향을 받을 수 있으므로 화면에 보인 한 가지 모양을 모든 환경의 고정 출력이라고 외우지 마세요.

시간 형식: 분은 n 또는 nn으로 기억하세요

시간 구분 기호가 콜론인 환경에서 Format(TimeSerial(9, 4, 5), "hh:nn:ss")는 "09:04:05"입니다. hh는 시, nn은 분, ss는 초를 두 자리로 표현합니다. 날짜의 mm은 월, 시간의 nn은 분으로 묶어 기억하면 식을 읽기 쉽습니다.

Format의 m 또는 mm은 기본적으로 월이지만 h 또는 hh 바로 뒤의 시간 표시 문맥에서는 분을 뜻합니다. 따라서 "hh:mm:ss"의 mm을 무조건 월이라고 지우면 안 됩니다. 분을 직접 지정하는 n·nn을 먼저 기억하고 m·mm은 앞의 시 기호까지 확인하세요.

DateAdd·DateDiff의 interval에서 m은 월, n은 분이라는 규칙과 Format의 표시 문자열은 구분해야 합니다. 날짜를 이동하는 단위인지, 날짜와 시간을 보여주는 기호인지 먼저 보세요. 시간 구분 기호 : 역시 지역 설정에 따라 표시가 달라질 수 있습니다.

숫자 형식: 0과 #은 빈 자리에서 갈립니다

Format(7, "0000")는 "0007", Format(7, "####")는 "7"입니다. 두 식 모두 네 개의 자리 표시 기호가 있지만 0은 없는 자리도 0으로 채우고 #은 그 자리에 불필요한 0을 넣지 않습니다.

소수 구분 기호가 점인 환경에서 Format(12.3, "0.00")는 "12.30"입니다. 소수점 뒤의 0 두 개가 두 자리 표시를 요구하므로 마지막 0을 붙입니다. 문제에 자리수 유지가 있다면 0을, 필요 없는 0을 생략하라는 조건이 있다면 #을 살펴보세요.

자리 표시 기호의 개수가 원래 정수부의 최대 길이라는 뜻은 아닙니다. 예를 들어 Format(12345, "0000")도 "12345"처럼 모든 정수부 숫자를 표시합니다. 네 자리를 넘었다고 앞 숫자를 잘라낸다는 보기는 잘못입니다.

쉼표와 소수점: 표시 자릿수와 원본을 분리하세요

소수점이 점이고 천 단위 구분이 쉼표인 환경에서 Format(1234.5, "#,##0.00")는 "1,234.50"입니다. 그룹 구분과 소수 두 자리 표시를 함께 지정한 식입니다. 여기의 쉼표는 함수의 인수 구분 쉼표가 아니라 따옴표 안의 표시 기호입니다.

Format(12.346, "0.00")는 같은 환경에서 문자열 "12.35"를 만듭니다. 표시 자릿수에 맞춰 반올림된 결과를 얻지만 원래 값 12.346을 저장한 필드가 저절로 12.35로 갱신되는 것은 아닙니다. 원본 계산과 출력용 문자열은 별개입니다.

숫자 구분 기호는 Windows 지역 설정을 따를 수 있습니다. 시험 지문의 환경과 요구 표시를 우선하고, 자신의 컴퓨터에서 다른 기호가 보이면 원본 숫자가 달라졌다고 판단하기 전에 지역 설정을 확인하세요.

백분율: 0.25와 25를 같은 비율로 읽지 마세요

Format(0.25, "0%")의 결과는 "25%"입니다. 백분율 표시 기호는 값을 100배 한 모양에 %를 붙입니다. 따라서 Format(25, "0%")는 "2500%"가 됩니다. 25를 넣으면 항상 25%가 나온다고 외우면 원본 비율을 혼동합니다.

값그대·모양만을 다시 적용하세요. 0.25를 백분율로 표시해도 원래 필드값은 0.25입니다. 표시된 25%를 보고 원본이 숫자 25로 변했다고 설명한 보기는 지울 수 있습니다. 반대로 함수 결과 "25%" 자체는 출력용 문자열입니다.

형식 속성: 숫자 계산을 유지하면서 표시하기

테이블 필드나 폼·보고서 텍스트 상자의 형식 속성(Format)은 보이거나 인쇄되는 모양을 설정합니다. 금액 필드에 소수 두 자리 형식을 지정해도 저장 자료형이 텍스트로 바뀌지 않습니다. 숫자 계산을 유지하면서 화면만 맞추려는 조건이라면 이 차이가 중요합니다.

원본이 12.346일 때 형식 속성으로 화면에 12.35를 보이게 하는 것과 Format 함수로 문자열 "12.35"를 얻는 것은 다릅니다. 전자는 표시 설정이고 후자는 새 식의 반환값입니다. 형식 속성에 문자열을 입력한다는 사실도 원본 데이터가 문자열이라는 뜻은 아닙니다.

형식 속성은 입력값을 검증하는 모든 규칙을 대신하지 않습니다. 입력 모양을 제한하는 입력 마스크나 허용값을 검사하는 유효성 검사와 구분하세요. 지문이 출력 모양을 요구하는지 입력 제한을 요구하는지 먼저 표시해 두면 속성을 잘못 고르는 일이 줄어듭니다.

쿼리와 폼의 식: 출력용 열인지 원본인지 확인합니다

쿼리 디자인의 계산 필드에 출력일: Format([주문일], "yyyy-mm-dd")를 쓰면 출력일이라는 문자열 결과 열을 만듭니다. 주문일은 기존 날짜 필드이고 출력일은 그 날짜를 표현한 별도 결과입니다. 별칭을 만들었다는 이유만으로 주문일 자료형이 바뀌지 않습니다.

텍스트 상자의 컨트롤 원본에 =Format([금액], "#,##0.00")를 쓰면 계산 결과 문자열을 표시합니다. 반면 숫자 필드를 바인딩한 텍스트 상자의 형식 속성에 #,##0.00을 지정하면 표시 형식만 바꿉니다. 조건에 함수 사용이 명시되어 있는지도 확인하세요.

날짜 순서 비교, 금액 합계, 숫자 크기 정렬에는 원래 날짜·숫자 값을 기준으로 판단하세요. 표시 문자열을 정렬하면 숫자 크기와 다른 순서가 될 수 있습니다. 모든 환경에서 자동 형 변환이 원하는 계산을 해 줄 것이라고 기대하지 않는 것이 좋습니다.

형식 구간과 조건부 서식은 같은 기능이 아닙니다

숫자의 사용자 지정 형식에는 세미콜론으로 구간을 나누어 양수·음수·0 등의 표시를 다르게 정하는 방식도 있습니다. 예를 들어 0;(0);0은 음수를 괄호로 표시하는 규칙을 담습니다. 따라서 Format에는 값에 따른 표시 구분이 전혀 없다고 설명하면 정확하지 않습니다.

다만 점수가 기준 이하일 때 배경색을 바꾸거나 다른 필드를 비교해 컨트롤을 강조하는 조건부 서식 기능과 Format 함수는 구별해야 합니다. 함수는 형식화한 문자열을 반환하고, 조건부 서식은 조건과 시각적 강조 규칙을 설정합니다.

Null을 0과 같은 값으로 취급하지도 마세요. 형식 속성의 구간 설명을 보고 함수의 Null 처리까지 무조건 같다고 추정하면 안 됩니다. 빈 값 검사와 대체는 별도의 IsNull·Nz 가이드에서 확인하고 이 글에서는 표시와 계산의 경계만 잡으세요.

실전 풀이 순서: 대상, 기호, 결과 자료형

첫째, 지문이 함수 식을 요구하는지 필드·컨트롤의 형식 속성을 요구하는지 구별합니다. 둘째, 따옴표 밖 원본 값과 따옴표 안 표시 기호를 나눕니다. 셋째, 날짜·시간·숫자·백분율 가운데 어느 모양인지 정합니다.

넷째, m·mm의 시 기호 문맥과 0·#의 빈 자리를 확인합니다. 다섯째, 최종 답이 표시 문자열인지 원래 숫자·날짜 값인지 적습니다. 틀린 식은 정답을 통째로 외우기보다 잘못된 기호 하나를 고쳐 다시 읽어보세요.

연습할 때는 값 7, 시간 9시 4분 5초, 비율 0.25처럼 구분이 잘 드러나는 입력을 쓰세요. 값 1234처럼 빈 자리가 없는 입력만 보면 0000과 ####의 차이를 놓칠 수 있습니다. 차이가 나타나는 예제를 골라야 셀프 체크가 됩니다.

시험 직전 다섯 줄 요약

1. 값그대·모양만: 원래 필드는 그대로, Format 함수의 새 결과는 문자열입니다.

2. 날짜 yyyy-mm-dd, 시간 hh:nn:ss: 월과 분을 먼저 분리하고 m의 시 기호 문맥도 확인합니다.

3. 0은 부족한 자리까지 채우고 #은 불필요한 0을 붙이지 않습니다.

4. 백분율은 0.25 -> 25%이며 25 -> 2500%입니다. 표시와 원본 비율을 혼동하지 마세요.

5. 형식 속성은 저장 자료형을 유지합니다. 함수의 반환값이나 입력 제한 기능과 구별하세요.

30초 셀프 체크: 식을 보고 먼저 답하세요

1. 질문: Format(7, "0000")의 결과는 숫자 7인가요? 정답: 아닙니다. 문자열 "0007"입니다.

2. 질문: Format(7, "####")도 "0007"인가요? 정답: 아닙니다. 문자열 "7"이며 #은 빈 자리에 0을 추가하지 않습니다.

3. 질문: yyyy-mm-dd의 mm과 hh:mm:ss의 mm은 같은 뜻인가요? 정답: 아닙니다. 앞 식은 월, 뒤 식은 h·hh 뒤의 시간 문맥이므로 분입니다.

4. 질문: 분을 두 자리로 명확히 지정하는 기호는 무엇인가요? 정답: nn입니다. hh:nn:ss로 시·분·초를 구분합니다.

5. 질문: Format(0.25, "0%")와 Format(25, "0%")의 결과는 같나요? 정답: 아닙니다. 각각 "25%"와 "2500%"입니다.

6. 질문: 숫자 필드의 형식 속성을 소수 두 자리로 바꾸면 저장값도 두 자리로 갱신되나요? 정답: 아닙니다. 형식 속성은 표시만 바꿉니다.

7. 질문: 출력일: Format([주문일], "yyyy-mm-dd")의 출력일은 날짜 계산용 원본 필드인가요? 정답: 아닙니다. 날짜를 형식화한 문자열 결과 열입니다.

확인한 공식 자료와 예제 전제

Format 함수의 반환 자료형과 쿼리·컨트롤 원본에서의 사용은 Microsoft Support의 Format Function, m·n과 숫자 자리 기호는 Microsoft Learn의 VBA Format 문서를 확인했습니다. 필드와 텍스트 상자의 표시 방식은 날짜·숫자 형식 및 TextBox.Format 문서를 기준으로 정리했습니다.

조건부 서식과 표시 함수의 차이는 Microsoft의 보고서 안내를 대조했습니다. 아래 근거 링크에서 각 기능을 직접 확인할 수 있습니다. 이 글은 전체 기능 목록이나 주차 번호 계산을 다루는 문서가 아니라 컴활 문제의 표시 결과를 구별하기 위한 학습 요약입니다.

확인일은 2026-10-01입니다. 날짜 예제는 그레고리력, 숫자 예제는 점 소수점·쉼표 천 단위, 시간 예제는 콜론 구분을 전제로 작성했습니다. 예제는 공식 명세에 따른 학습용 해설이며 이 발행 작업에서 실제 Access 프로그램의 실행 결과를 수집한 것은 아닙니다.

FAQ

자주 묻는 질문

Access Format 함수는 숫자나 날짜 자료형을 그대로 반환하나요?

아닙니다. 지정한 표시 규칙을 적용한 문자열을 담은 Variant(String)을 반환합니다. 원래 필드값을 바꾸는 갱신 명령은 아니며 함수 결과와 원본 값을 따로 구별해야 합니다.

Format의 m은 월인가요, 분인가요?

기본적으로 월이지만 h 또는 hh 바로 뒤의 시간 표시 문맥에서는 분입니다. yyyy-mm-dd의 mm은 월이고 hh:mm:ss의 mm은 분입니다. 분을 명확히 지정하려면 n 또는 nn을 기억하세요.

Format 함수에서 0과 #의 차이는 무엇인가요?

0은 부족한 자리를 0으로 채우고 #은 불필요한 0을 추가하지 않습니다. Format(7, "0000")는 문자열 "0007", Format(7, "####")는 문자열 "7"입니다.

Format 함수와 Access 형식 속성은 어떻게 다른가요?

함수는 형식화한 새 문자열을 반환합니다. 필드나 컨트롤의 형식 속성은 저장값과 자료형을 유지하면서 표시 모양을 정합니다. 숫자·날짜 계산에 쓸 원본과 출력 문자열을 혼동하지 마세요.

무료 학습 도구

시간과 점수 감각을 바로 확인하세요

모의고사 전에는 시간 배분을, 채점 후에는 예상 점수를 확인하세요.