식을 평가한 결과에 따라 두 부분 중 하나를 반환합니다.
식을 사용할 수 있는 모든 위치에서 사용할 IIf 수 있습니다. 다른 식이 참인지 거짓인지 확인하는 데 사용합니다 IIf . 식이 true IIf 이면 값을 하나 반환합니다. false IIf 이면 다른 값을 반환합니다. 반환하는 IIf 값을 지정합니다.
구문
IIf(expr, truepart, falsepart)
함수 구문에는 IIf 다음과 같은 인수가 사용됩니다.
| 인수 | 설명 |
|---|---|
expr |
필수 요소입니다. 계산할 식입니다. |
truepart |
필수 요소입니다. 인 True경우 expr 반환되는 값 또는 식 |
falsepart |
필수 요소입니다. 인 False경우 expr 반환되는 값 또는 식 |
주의
IIfAND AND 중 하나만 반환하더라도 항상 AND falsepart를 모두 truepart 평가합니다. 이 동작으로 인해 원치 않는 부작용에 주의하세요. 예를 들어 평가 결과 falsepart 가 0으로 나누기 오류가 발생하면 인 True경우에도 expr 오류가 발생합니다.
예제
폼 또는 보고서에 사용 IIf
라는 필드가 포함된 테이블이 있다고 가정해 Customers 보겠습니다.CountryRegion 양식에서 이탈리아어가 연락처의 모국어인지 여부를 표시하려고 합니다. 컨트롤을 추가하고 해당 Control Source 속성에서 사용할 IIf 수 있습니다.
=IIf([CountryRegion]="Italy", "Italian", "Some other language")
폼 보기에서 폼을 열면 값이 CountryRegion 일 때마다 컨트롤이 표시됩니다Italian.Italy 다른 값이 있을 때마다 CountryRegion 표시됩니다Some other language.
복잡한 식에 사용 IIf
명령문의 어느 부분 IIf 에든 식을 사용할 수 있습니다. 식을 중첩 IIf 하여 일련의 종속 식을 평가할 수도 있습니다. 앞의 예제를 계속 진행하려면 다양한 CountryRegion 값을 테스트한 다음 해당 값에 따라 적절한 언어를 표시할 수 있습니다.
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
텍스트 Some other language 는 가장 IIf 안쪽에 있는 함수의 인수입니다falsepart. 중첩된 IIf 각 함수는 이를 포함하는 함수의 IIf 인수이므로 falsepart 함수의 모든 expr 인수가 로 계산되는 IIf 경우에만 텍스트 Some other language 가 반환됩니다.False
또 다른 예로 도서관에서 일한다고 가정해 보겠습니다. 라이브러리 데이터베이스에는 특정 책의 제출 기한이 들어 있는 필드가 Due Date포함된 테이블이 Check Outs 있습니다. 컨트롤의 속성에서 함수를 IIf 사용하여 컨트롤에서 체크 아웃된 항목의 상태를 표시하는 폼을 만들 수 있습니다.Control Source
=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))
폼 보기에서 폼을 열면 의 Due Date 값이 현재 날짜보다 작거나 현재 날짜 Due todayNot Yet Due 와 같으면 그리고 그렇지 않으면 컨트롤이 표시됩니다OVERDUE.
참고
함수의 IIf 인수에 expr or Or 와 같은 And 논리 연산자를 사용하려면 Eval 함수에 논리식을 포함해야 합니다. 다음 예제 표를 참조하세요.
쿼리에 사용 IIf
이 IIf 함수는 쿼리에서 계산된 필드를 만드는 데 자주 사용됩니다. 구문은 동일합니다. 쿼리에서 식 앞에 등호(=) 대신 필드 별칭과 콜론(:)을 붙여야 한다는 점이 다릅니다. 이전 예제를 사용하려면 쿼리 디자인 눈금의 필드 행에 다음을 입력합니다.
Language: 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
추가 예제
식:
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))결과: 인
"ORD"경우[AirportCode]반환"Chicago"합니다. 그렇지 않으면 인"ATL"경우[AirportCode]반환"Atlanta"합니다. 그렇지 않으면 인"SEA"경우[AirportCode]반환"Seattle"합니다. 그렇지 않으면 를 반환합니다"Other".식:
=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))결과: 이가 오늘 날짜보다 이전이면
[ShipDate]를 반환"Shipped"합니다. 그렇지 않고[ShipDate]오늘 날짜와 같으면 을 반환"Shipping today"합니다. 그렇지 않으면 를 반환합니다"Unshipped".식:
=IIf([PurchaseDate]<#1/1/2008#,"Old","New")결과: 보다 이전
1/1/2008인 경우[PurchaseDate]반환"Old"합니다. 그렇지 않으면 를 반환합니다"New".식:
=IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")결과: 가 12와 15 사이이고
[Amps]0.25와 0.3 사이인 경우[Volts]를 반환"OK"합니다. 그렇지 않으면 를 반환합니다"Out of calibration".식:
=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")결과: 인
"Canada"경우[CountryRegion],"USA","Mexico"또는 , 반환"North America"합니다. 그렇지 않으면 를 반환합니다"Other".식:
=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))결과: 90 이상이면
[Average]반환"A"합니다. 그렇지 않고 80 이상이면[Average]을 반환"B"합니다. 그렇지 않고 70 이상이면[Average]을 반환"C"합니다. 그렇지 않고 60 이상"D"이면[Average]반환합니다. 그렇지 않으면 를 반환합니다"F".
참고
이 IIf 함수를 사용하여 쿼리에 계산 필드를 만드는 경우 등호(=)를 필드 별칭 및 콜론(:)으로 바꿉니다. 예를 들면 Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))와 같습니다.