Nz 함수

Nz 함수를 사용하면 Variant 데이터 형식이 Null일 때 0, 빈 문자열("") 또는 지정된 다른 값을 반환할 수 있습니다. 예를 들어 이 함수를 사용하면 Null 값을 다른 값으로 변환하여 식 전체가 Null이 되지 않게 할 수 있습니다.

구문

Nz ( variant [, valueifnull ] )

Nz 함수 구문에는 다음과 같은 인수가 사용됩니다.

인수

설명

variant

필수 요소입니다. Variant데이터 형식의 변수입니다.

valueifnull

선택 요소입니다(쿼리에 사용된 경우 제외). variant 인수가 Null일 경우 반환할 값을 제공하는 Variant 입니다. 이 인수를 사용하면 0이나 빈 문자열이 아닌 값을 반환할 수 있습니다.

참고: 쿼리 식에 Nz 함수를 사용할 때 valueifnull 인수를 지정하지 않으면 null 값이 포함된 필드에 빈 문자열이 반환됩니다.


variant 인수의 값이 Null인 경우 Nz 함수는 컨텍스트에서 값을 숫자로 나타내는지 아니면 문자열로 나타내는지에 따라 숫자 0 또는 빈 문자열을 반환합니다. 단, 쿼리 식에 사용될 경우에는 항상 빈 문자열을 반환합니다. 선택 요소인 valueifnull 인수가 포함된 경우 variant 인수가 Null이면 Nz 함수는 valueifnull 인수에 지정된 값을 반환합니다. NZ 함수를 쿼리 식에 사용할 경우에는 valueifnull 인수를 항상 포함해야 합니다.

variant 의 값이 Null이 아닌 경우에는 Nz 함수가 variant의 값을 반환합니다.

주의

Nz 함수는 Null 값이 포함될 수 있는 식에 유용합니다. 식에 Null 값이 포함된 경우에도 Null이 아닌 값으로 평가되게 하려면 Nz 함수를 사용하여 0, 빈 문자열 또는 사용자 지정 반환 값을 반환합니다.

예를 들어 2 + varX 식은 Variant varXNull인 경우 항상 Null 값을 반환합니다. 그러나 2 + Nz(varX) 식은 2를 반환합니다.

경우에 따라 IIf 함수 대신 Nz 함수를 사용할 수 있습니다. 예를 들어 다음 코드에서는 원하는 결과를 반환하기 위해 IIf 함수를 포함하는 식이 두 개 필요합니다. IIf 함수를 포함하는 첫 번째 식은 변수의 값을 확인하여 이 값이 Null인 경우 0으로 변환하는 데 사용됩니다.

varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")

다음 예제에서 Nz 함수는 첫 번째 식과 같은 기능을 제공하며 위의 예제처럼 두 단계를 실행하지 않고 원하는 결과를 한 번에 얻을 수 있습니다.

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

선택 요소인 valueifnull 인수에 값을 지정하면 variantNull일 때 이 값이 반환됩니다. 이 선택 인수를 포함하면 IIf 함수를 포함하는 식을 사용할 필요가 없도록 할 수 있습니다. 예를 들어 다음 식은 IIf 함수를 사용하여 varFreight의 값이 Null인 경우 문자열을 반환합니다.

varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)

다음은 varFreightNull인 경우 Nz 함수에서 반환할 문자열을 함수의 선택 인수에 제공하는 예제입니다.

varResult = Nz(varFreight, "No Freight Charge")

예제

참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.

다음은 폼의 컨트롤을 평가하고 해당 컨트롤의 값에 기초하여 두 문자열 중 하나를 반환하는 예제입니다. 이 프로시저에서는 컨트롤 값이 Null인 경우 Nz 함수를 사용하여 Null 값을 빈 문자열로 변환합니다.

Public Sub CheckValue()
Dim frm As Form
Dim ctl As Control
Dim varResult As Variant
' Return Form object variable
' pointing to Orders form.
Set frm = Forms!Orders
' Return Control object variable
' pointing to ShipRegion.
Set ctl = frm!ShipRegion
' Choose result based on value of control.
varResult = IIf(Nz(ctl.Value) = vbNullString, _
"No value.", "Value is " & ctl.Value & ".")
' Display result.
MsgBox varResult, vbExclamation
End Sub
Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×