2012-02-01 7 views
0

중첩 쓰기 수행하는 경우 경우 다음을 수행 문 :엑셀 논리 내가 노력하고 문

IF C19 = 아니오, C20 = 아니오, 및 C22 = 예 다음 C30 = 아니오

다른

IF C19 = 예 또는 C20 = 예와 C22 = 예 다음 C30 = 예

지금까지 나는 다음과 같은 (비 작동) 코드가 있습니다

=IF(OR(AND(C19="No",C20="No",C22="Yes"), C22="Yes","Yes","No")) 

어떤 아이디어?

감사합니다.

+0

다른 순열이 누락되어 전체 문장이 완성되지 않았다고 생각합니다. 또한 논리를 2 점으로 그룹화하십시오. 그것은 ((C19 = 예 또는 C20 = 예) AND C22 = 예) 또는 ((C19 = 예 또는 (C20 = 예 AND C22 = 예)) – Dave

+0

조언에 대한 심령 감사합니다, 일부 순열은 누락되었습니다. 그들이 처리 할 필요가 없다는 것을 확실히 확신 할 수 있습니다.그것은 ((C19 = 예 또는 C20 = 예) AND C22 = 예) C30 = 예 – Ckeane

답변

0

당신은

  • 공통 테스트 C30="Yes"하지에 대한 수용이처럼 할 수있는이 충족 C19 AMD하지이 충족 C20 에 대한
  • 두 쌍 테스트를 (즉 "C22<>Yes"을 제공) (즉, 주는 "C19 and/or C20 are invalid"
  • 두 가지 원하는 결과 (Yes 또는 No)

업데이트 : 닉의 답변을보고 날 당신이 당신의 두 번째 테스트에서 또는 테스트를했다

= IF (C22 = "예", IF (AND (C19 = "아니오"를 실현했다, C20 = "예", "C19 및/또는 C20이 유효하지 않습니다")), "C22 <> 예")

3

그럼 그들이 아무것도하지 않고 이러한 조건 중 하나와 일치하지 않는 경우,이 일을해야한다고 가정

=IF(AND(OR(C19="Yes",C20="Yes"),C22="Yes"),"Yes",IF(AND(C19="No",C20="No",C22="Yes"),"No","")) 
+0

첫 번째 정답은 +1하는 것이지만, 어떤 부분이 catchall보다는 예상 된 결과를 제공하지 않았 음을 표시하는 것이 좋습니다 – brettdj

0

IF 문에는 테스트가 참이면 반환 할 값과 테스트가 거짓이면 반환 할 두 값이있는 논리 테스트가 필요합니다.

IF(logical_test, [value_if_true], [value_if_false]) 

당신은 단 하나 또는 두 값,이 내 문을 재귀 수있는 경우 다음 삽입하여이를 확장 할 수 있습니다. 예 :

IF (logical_test (IF (logical_test [TRUE 인 _ 경우 _] [FALSE 인 _ 경우 _])) ([FALSE 인 _ 경우 _]))

재귀의 각 단계는 여전히 간단한 부울이다 (참/거짓) 테스트, 두 가지 가능한 대답.

간단한 진실/거짓 진술로 만나는 조건을 정리하면 IF 문에 삽입하면됩니다.

관련 문제