2016-10-08 6 views
1

Excel 시트를 만들려고합니다. 12 쌍의 조건을 넣고 싶습니다. 즉, 두 개의 값을주고 싶습니다. 그 값에 따라 출력을 생성합니다. 예를 들어MS Excel : 조건에 따라 값을 생성하십시오.

:

=if(AND(A1<=75,B1<=5),1.341,AND(A1>=76,B1<=5,A1<=150),1.341,AND(A1>=151,A1<=350,B1<=5),1.408,AND(A1>350,B1<=5),1.475) 

그러나 나는이 기능에 너무 많은 인수를 입력 말하는 :

a1< 50 and b1<5 then it should print 100 
a1>= 50 and a1<100 and b1<5 then it should print 200 
a1>= 100 and a1<200 and b1<5 then it should print 300 
a1>= 200 and a1<500 and b1<5 then it should print 400 

나는이 시도.

어디서 잘못 알 수 있습니까?

답변

1

IF(condition, value if condition is true, value if condition is false)의 인수 만 사용합니다.

그래서 당신은 IF의 중첩 사용할 수 있습니다

=IF(AND(A1<50,B1<5),100,IF(AND(A1>=50,A1<100,B1<5),200,IF(.........))) 

을하지만 이런 식으로 이렇게 간단 할 수 있습니다 TRUE 1로 평가하고 0으로 FALSE 때문에

=IF(B1<5,100*(A1<50)+200*AND(A1>=50,A1<100)+300*AND(A1>=100,A1<200)+400*AND(A1>=200,A1<500),"") 

이 두 번째 방법은 작동합니다.

+0

사례를 제공해 주시겠습니까? '*'는 무엇을 의미합니까? – V15HM4Y

+0

어떤 종류의 예입니까? '*'는 곱셈을 나타냅니다. – Scarabee

0

IF를 중첩하는 방법 중 하나는 다음과 같습니다.

=IF(condition1, value1, IF(condition2, value2, valueDefault)). 

그러나 매우 복잡 할 수 있습니다. 두 개의 변수 (a와 b)의 경우 좀 더 투명한 솔루션은 검색 테이블을 만드는 것입니다. 첫 번째 열은 50, 100 및 200을 포함하고 첫 번째 행은 5, 100, 200, 500을 포함하고 나머지는 테이블 값으로 채워지면 다음과 같은 someting을 쓸 수 있습니다.

=INDEX(values, MATCH(actualA, firstColumn, 1), MATCH(actualB, firstRow, 1)) 
관련 문제