식을 평가한 결과에 따라 두 부분 중 하나를 반환합니다.
식을 사용할 수 있는 모든 곳에서 사용할 IIf 수 있습니다. 를 사용하여 IIf 다른 식이 true인지 false인지 여부를 확인합니다. 식이 true IIf 이면 은 하나의 값을 반환합니다. false IIf 이면 다른 값을 반환합니다. 반환하는 IIf 값을 지정합니다.
구문
IIf(expr, truepart, falsepart)
IIf 함수 구문에는 다음과 같은 인수가 사용됩니다.
| 인수 | 설명 |
|---|---|
expr |
필수 요소입니다. 평가할 식입니다. |
truepart |
필수 요소입니다. 가 인 경우 expr 반환되는 값 또는 식입니다 True. |
falsepart |
필수 요소입니다. 가 인 경우 expr 반환되는 값 또는 식입니다 False. |
주의
IIf는 둘 중 하나만 반환하더라도 항상 및 falsepart를 모두 truepart 평가합니다. 이 동작으로 인해 원치 않는 부작용을 조심하세요. 예를 들어 를 평가하면 falsepart 0으로 나누기 오류가 발생하는 경우 가 인 경우에도 exprTrue오류가 발생합니다.
예제
폼 또는 보고서에서 사용 IIf
Customers 라는 CountryRegion필드가 포함된 테이블이 있다고 가정해 보겠습니다. 양식에서 이탈리아어가 연락처의 첫 번째 언어인지 여부를 표시하려고 합니다. 컨트롤을 추가하고 해당 Control Source 속성에 를 사용할 IIf 수 있습니다.
=IIf([CountryRegion]="Italy", "Italian", "Some other language")
폼 보기에서 폼을 열면 에 대한 CountryRegionItaly값이 일 때마다 컨트롤이 표시됩니다Italian. 다른 값이 Some other language 있을 때마다 CountryRegion 표시됩니다.
복합 식에서 사용 IIf
문의 모든 부분에서 IIf 식을 사용할 수 있습니다. 일련의 종속 식을 평가할 수 있는 식을 중첩 IIf 할 수도 있습니다. 앞의 예제를 계속하려면 여러 다른 CountryRegion 값을 테스트한 다음 값에 따라 적절한 언어를 표시할 수 있습니다.
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
텍스트 Some other language 는 falsepart 가장 안쪽 함수의 인수입니다 IIf . 중첩된 IIf 각 함수는 이 함수를 포함하는 함수의 인수이므로 falsepart 함수의 IIf 모든 expr 인수가 로 평가False되는 경우에만 텍스트 Some other language 가 IIf 반환됩니다.
또 다른 예제에서는 라이브러리에서 작업한다고 가정합니다. 라이브러리 데이터베이스에는 라는 필드가 포함된 라는 Check Outs 테이블이 있으며, 이 테이블에 Due Date는 특정 책의 기한이 지난 날짜가 포함됩니다. 컨트롤의 속성에 있는 함수를 사용하여 IIf 컨트롤에서 체크 아웃된 항목의 Control Source 상태 보여 주는 폼을 만들 수 있습니다.
=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))
폼 보기에서 폼을 열면 의 값 Due Date 이 현재 날짜보다 작은지, 현재 날짜와 Not Yet Due 같은지, Due today 그렇지 않으면 컨트롤이 표시됩니다OVERDUE.
참고
함수의 IIf 인수에서 expr 또는 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")))결과: 가 이면
[AirportCode]를"ORD"반환합니다"Chicago". 그렇지 않으면 가 이면[AirportCode]를"ATL"반환합니다"Atlanta". 그렇지 않으면 가 이면[AirportCode]를"SEA"반환합니다"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")결과: 가 , 또는 이면
[CountryRegion]를 반환합니다"North America"."Mexico""USA""Canada"그렇지 않으면 를 반환합니다"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 이상이면[Average]를 반환합니다"D". 그렇지 않으면 를 반환합니다"F".
참고
함수를 IIf 사용하여 쿼리에서 계산 필드를 만드는 경우 등호(=)를 필드 별칭 및 콜론(:)으로 바꿉니다. 예를 들면 Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))와 같습니다.