Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

식 계산에 따라 두 부분 중 하나를 반환합니다.

식을 사용할 수 있는 모든 곳에서 IIf 를 사용할 수 있습니다. IIf를 사용하여 다른 식이 true인지 false인지 확인합니다. 식이 true이면 IIf 는 하나의 값을 반환합니다. false이면 IIf 에서 다른 값을 반환합니다. IIf가 반환하는 값을 지정합니다.

몇 가지 예제를 참조하세요.

구문

IIf ( expr , truepart , falsepart )

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

인수

설명

expr

필수 요소입니다. 평가할 식입니다.

truepart

필수 요소입니다. exprTrue이면 반환되는 값 또는 식입니다.

falsepart

필수 요소입니다. exprFalse이면 반환되는 값 또는 식입니다.


주의

IIf 는 둘 중 하나만 반환하더라도 항상 truepartfalsepart를 모두 평가합니다. 이 때문에, 바람직하지 않은 부작용에 대 한 watch 해야 합니다. 예를 들어 falsepart 를 평가하면 0으로 나누기 오류가 발생하는 경우 exprTrue인 경우에도 오류가 발생합니다.

예제

폼 또는 보고서에서 IIf 사용    CountryRegion이라는 필드가 포함된 Customers 테이블이 있다고 가정합니다. 양식에서 이탈리아어가 연락처의 첫 번째 언어인지 여부를 나타내려고 합니다. 다음과 같이 컨트롤을 추가하고 컨트롤 원본 속성에서 IIf를 사용할 수 있습니다.

=IIf([CountryRegion]="Italy", "Italian", "Some other language")

폼 보기에서 폼을 열면 CountryRegion 값이 이탈리아일 때마다 컨트롤에 "이탈리아어"가 표시되고 CountryRegion이 다른 값일 때마다 "일부 다른 언어"가 표시됩니다.

복잡한 식에서 IIf 사용    모든 식을 IIf 문의 일부로 사용할 수 있습니다. 일련의 종속 식을 평가할 수 있도록 IIf 식을 "중첩"할 수도 있습니다. 앞의 예제를 계속하려면 여러 가지 CountryRegion 값을 테스트한 다음, 존재하는 값에 따라 적절한 언어를 표시할 수 있습니다.

=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language"))

텍스트 "일부 다른 언어"는 가장 안쪽에 있는 IIf 함수의 falsepart 인수입니다. 중첩된 각 IIf 함수는 IIf 함수가 포함된 IIf 함수의 falsepart 인수이므로 모든 IIf 함수의 모든 expr 인수가 False로 평가되는 경우에만 "일부 다른 언어"라는 텍스트가 반환됩니다.

또 다른 예제에서는 라이브러리에서 작업한다고 가정합니다. 라이브러리 데이터베이스에는 특정 책이 기한이 지난 날짜가 포함된 기한이라는 필드가 포함된 체크 아웃이라는 테이블이 있습니다. 다음과 같이 해당 컨트롤의 Control Source 속성에서 IIf 함수를 사용하여 컨트롤에서 체크 아웃된 항목의 상태 나타내는 폼을 만들 수 있습니다.

=IIf([기한]<Date(),"OVERDUE",IIf([Due Date]=Date(),"due today","not yet due"))

폼 보기에서 양식을 열면 기한 값이 현재 날짜보다 작으면 "OVERDUE", 현재 날짜와 같은 경우 "오늘 기한", 그렇지 않으면 "Not Yet Due"가 표시됩니다.

참고:  IIf 함수의 expr 인수에서 "And" 또는 "Or"와 같은 논리 연산자를 사용하려면 Eval 함수에서 논리 식을 묶어야 합니다. 다음 예제 테이블을 참조하세요.

쿼리에서 IIf 사용    

IIf 함수는 쿼리에서 계산 필드를 만드는 데 자주 사용됩니다. 구문은 동일하며 쿼리에서 등호(=) 대신 필드 별칭과 콜론(:)을 사용하여 식 앞에 서두를 수 있어야 한다는 점을 제외하고는 동일합니다. 앞의 예제를 사용하려면 쿼리 디자인 표의 필드 행에 다음을 입력합니다.

언어: IIf([CountryRegion]="Italy", "Italian", "Some other language")

이 경우 "Language:"는 필드 별칭입니다.

쿼리 및 계산 필드를 만드는 방법에 대한 자세한 내용은 간단한 선택 쿼리 만들기 문서를 참조하세요.

VBA 코드에서 IIf 사용    

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

이 예제에서는 IIf 함수를 사용하여 CheckIt 프로시저의 TestMe 매개 변수를 평가하고 크기가 1000보다 크면 "Large"라는 단어를 반환합니다. 그렇지 않으면 "Small"이라는 단어를 반환합니다.

Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

추가 예제

Expression

결과

=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other"))

[AirportCode]가 "ORD"인 경우 "시카고"를 반환합니다. 그렇지 않으면 [AirportCode]가 "ATL"인 경우 "Atlanta"를 반환합니다. 그렇지 않으면 [AirportCode]가 "SEA"이면 "Seattle"을 반환합니다. 그렇지 않으면 "기타"를 반환합니다.

=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"shipping today","Unshipped"))

[ShipDate]가 오늘 날짜 이전인 경우 "Shipped"를 반환합니다. 그렇지 않으면 [ShipDate]가 오늘 날짜와 같으면 "오늘 배송"을 반환합니다. 그렇지 않으면 "언시핑됨"을 반환합니다.

=IIf([PurchaseDate]<#1/1/2008#,"Old","New")

[PurchaseDate]가 2008년 1월 1일 이전인 경우 "Old"를 반환합니다. 그렇지 않으면 "새로 만들기"를 반환합니다.

=IIf(Eval([Volts] Between 12 and 15 and [Amps] between 0.25 and 0.3),"OK","out of calibration")

[Volts]가 12에서 15 사이이고 [Amps]가 0.25에서 0.3 사이인 경우 "OK"를 반환합니다. 그렇지 않으면 "보정 중단"을 반환합니다.

=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico"),"북아메리카","Other")

[CountryRegion]이 "캐나다", "USA" 또는 "멕시코"인 경우 "북아메리카"를 반환합니다. 그렇지 않으면 "기타"를 반환합니다.

=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F")))

[Average]가 90 이상인 경우 "A"를 반환합니다. 그렇지 않으면 [Average]가 80 이상인 경우 "B"를 반환합니다. 그렇지 않으면 [Average]가 70 이상인 경우 "C"를 반환합니다. 그렇지 않으면 [Average]가 60 이상인 경우 "D"를 반환합니다. 그렇지 않으면 "F"를 반환합니다.

참고:  IIf 함수를 사용하여 쿼리에서 계산 필드를 만드는 경우 등호(=)를 필드 별칭 및 콜론(:)으로 바꿉니다. 예를 들어 상태: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×