2-2번
=SUM((YEAR(TODAY())-YEAR(C3:C8)>=35)*(VALUE(LEFT(D3:D8,1)))>=4 , E3:E8)
나이가 35세 이상이고, 가족수가 4명이상인 조건에 대해서 회비합을 계산하는 거면
조건은 곱하기로 주고, 더할범위는 쉼표로 하는 것 아닌가요? 저는 위의 식과 같이 썼는데 답을 보니 다르더라구요.
해설은
=SUM((YEAR(TODAY())-YEAR(C3:C8)>=35)*(VALUE(LEFT(D3:D8,1))>=4) *(E3:E8))
라고 되어있던데... 설명좀해주세요
sum 함수만 사용하면 조건과 값을 구할범위 모두 * 로 이어주셔야 합니다.
sum((조건1)*(조건2)*값을구할범위)
와 같이 사용하셔야 조건이 참일때 1을 반영하여
1 * 1 * 값을구할범위 = 값을 구할 범위
1 * 0 * 값을구할범위 = 0
0 * 1 * 값을구할범위 = 0
0 * 0 * 값을구할범위 = 0
으로 조건이 모두 참이어야지만 값을구할범위에서 값을 반환하고 반환된 값을 sum함수로 더해주게 됩니다.
, 를 쓰는 것은
sum과 if를 같이 사용해야 할때 쓰는 방법으로
sum(if((조건1)*(조건2), 값을 구할범위)) 가 됩니다.
if문은 if(조건, 참, 거짓) 으로 조건이 참이면 참의 값을 반환하고 조건이 거짓이면 거짓의 값을 반환하는데
이 식에서는 조건이 참일때만 값을구할범위에서 값을 반영하게 됩니다.
조건이 추가되면 조건부분에 * 로 조건을 더 이어주기만 하면 되는 것입니다.
좋은 하루 되세요.
"
-
*2011-08-21 12:28:49
sum 함수만 사용하면 조건과 값을 구할범위 모두 * 로 이어주셔야 합니다.
sum((조건1)*(조건2)*값을구할범위)
와 같이 사용하셔야 조건이 참일때 1을 반영하여
1 * 1 * 값을구할범위 = 값을 구할 범위
1 * 0 * 값을구할범위 = 0
0 * 1 * 값을구할범위 = 0
0 * 0 * 값을구할범위 = 0
으로 조건이 모두 참이어야지만 값을구할범위에서 값을 반환하고 반환된 값을 sum함수로 더해주게 됩니다.
, 를 쓰는 것은
sum과 if를 같이 사용해야 할때 쓰는 방법으로
sum(if((조건1)*(조건2), 값을 구할범위)) 가 됩니다.
if문은 if(조건, 참, 거짓) 으로 조건이 참이면 참의 값을 반환하고 조건이 거짓이면 거짓의 값을 반환하는데
이 식에서는 조건이 참일때만 값을구할범위에서 값을 반영하게 됩니다.
조건이 추가되면 조건부분에 * 로 조건을 더 이어주기만 하면 되는 것입니다.
좋은 하루 되세요.