실습08번의 배열 수식의 활용에서
맨마지막 문제인 "백만원 이상 월 임대건수"를 계산하는 문제에서
24페이지에 나오는 답하고 본문 127페이지에 나온 내용하고 다른데 이유가 무엇인가요?
방법 1에서 조건이 2개이상인 합계를 구하는 공식으로
24페이지에는 조건 뒤에 *1이 없고, 127페이지에는 조건 뒤에 *1이 있는데 어떤 차이인가요?
조건이 1개 일때에는 *1을 꼭 붙여야 하지만 조건이 2개 이상일 경우에는 *1을 안적어도 되는건가요?
추가로
{=SUM(IF($B$9:$B$23=B3,IF($F$9:$F$23>=1000000,1)))} 이게 정답인데, 제 착각으로 count 대신 sum으로
{=SUM(IF(($B$9:$B$23=B3)*($F$9:$F$23>=1000000),1))} 이렇게 작성했는데 답이 맞았습니다.
무슨 차이인가요?
안녕하세요.
1. 네 맞습니다. 조건이 1개일 때는 *1을 해주고, 조건이 2개 이상일 때는 *1을 안해줘도 됩니다.
2. 질문 내용을 이해할 수가 없네요. 다시 질문해 주세요.
즐거운 하루 되세요.
"-
*2013-10-14 09:25:10
안녕하세요.
1. 네 맞습니다. 조건이 1개일 때는 *1을 해주고, 조건이 2개 이상일 때는 *1을 안해줘도 됩니다.
2. 질문 내용을 이해할 수가 없네요. 다시 질문해 주세요.
즐거운 하루 되세요.
" -
*2013-10-14 11:05:58
두번째 작성하신 두개의 수식은 같은 내용의 수식입니다. 둘다 AND조건을 따지게 되고, 두조건 다 만족할 경우에만 1이라는 값을 가져오게 되어있습니다.
{=SUM(IF(A조건,IF(B조건,1)))}
->만약 배열에서A조건을 만족하는 배열만, B조건을 보고, B조건을 만족하면 1이라는 값의 배열을 만들어서 합계를 구하라
A조건이 참 -> B조건이 참 -> 1
A조건이나 B조건중 하나라도 거짓일경우 - > FALSE
즉, 두조건다 만족하면 1, 둘중하나라도 틀리면 FASLE 값을 반환하여 배열이 만들어지고 그 합계를 구하니깐 1의 합계... 즉, 두조건을 다 만족하는 값의 개수가 나오게 됩니다.
{=SUM(IF((A조건)*(B조건),1))}
-> 만약 A조건의 배열과 B조건의 배열 서로 곱하여, TRUE값을 만족하는 것들만 1이라는 값을 내고, 그 합계를 구하라.
A조건이 참이면 TRUE, 틀리면 FALSE를 반환하여 배열을 만듭니다. 마찬가지로 B조건도 참이면TRUE, 틀리면 FALSE를 반환하여 배열을 만듭니다. 그리고 이 두개의 배열을 같은 위치에 있는 것들끼리 곱합니다.
예를 들어...두 조건의 결과를 보면...
A조건 B조건 곱한결과(A*B)
TRUE TRUE 1
TRUE FALSE 0
FALSE TRUE 0
FALSE FALSE 0
*논리값(TRUE/FALSE)를 곱할경우 TRUE는 1로, FALSE는 0으로 따지게 됩니다.
이런식의 결과가 나오게 됩니다. 결국 두조건을 다 만족하는 경우에만 1이라는 결과가 나오고
그 합을 구하게 되니, 두조건을 다 만족하는 값의 개수가 결과로 나오게 됩니다.
함수를 사용하는 방법만 다를뿐 뜻이나 결과는 같습니다.