컴활 1급 2019실기로 공부중입니다.
제3권 : 컴활함수사전(얇은책) 에서 질문드립니다.
1) 122p 1번, 155p 4번
조건이 2개일때 개수 세는 배열수식은
=sum(if( 조건1,if(조건2,1)) 로 엑셀편 책에서 배웠습니다.
근데 122p 1번과 155p 4번은
=sum(if((조건1)*(조건2),1) 을 사용했는데, 이렇게 계산해도 무방한가요?
2) 147p 3번
for 문을 사용했는데, for문의 구조를 알고 싶습니다.
3) 148p 2번
match함수 옵션에 -1을 했는데 -1을 한 이유가 무엇인가요.
숫자도 아닌데 사용한 이유를 알고싶습니다.
4)15년 3회 1번, 16년 1회 5번
15년 3회 1번은 "&"연산자를 사용하라고 지시가 나와서 사용했습니다.
그런데 16년 1회 5번은 "&"연산자 사용하라는 지시가 없는데도 사용했습니다.
&연산자는 문제에 별도 지시가 없어도 자유롭게 사용가능한가요?
5) 154p 3번
정답대로 사용자 지정함수를 사용하면, 처음에 if 조건인 회원리뷰수 >=150 and 판매량 >=7000을 만족한 셀도 elseif 구문에 회원리뷰수 >=150//판매량>7000에 이중 삼중으로 포함되지 않나요?
이를 방지하기위해
if 회원리뷰수>=150 and 판매량 >=7000 then
fn상품추천 ="강력추천"
else
if 회원리뷰수>=150 then
fn상품추천 ="관심도서"
elseif 판매량>=7000
fn상품추천 ="인기도서"
else
fn상품추천 =" "
end if
end if
로 해야되지 않나요?
---------------------------------
감사합니다!!
안녕하세요.
1) 네, 무방합니다. 계산작업의 수식은 여러개가 존재할 수 있습니다.
시험에서는 결과가 맞고, 제시된 함수가 사용되었다면 모두 정답으로 인정됩니다.
2) for 변수=시작 to 끝 step 증가분
next
의 형식이 기본 구조가 됩니다. 변수가 시작값 부터 끝값까지 step 증가분 만큼 증가/감소하며 반복하는 것입니다.
next를 만나면 for문으로 다시 돌아가게 되고, 변수의 값이 시작값~끝값 범위 밖이라면 for 문을 빠져나옵니다.
step 증가분은 생략시 1씩 증가됩니다.
3)
MATCH(찾을 값, 범위, 옵션)
: 범위에서 옵션을 적용하여 찾을 값과 같은 데이터를 찾아 그 위치에 대한 일련번호를 반환하는 함수입니다.
옵션 -1
: 옵션을 -1로 지정하면 찾을 값이 없을 경우 '찾을 값' 보다 큰 값 중에서 가장 작은 값을 찾습니다. 이때 범위는 반드시 내림차순으로 정렬되어야 합니다.
{"영어", "수학"}
: [표1]의 과목은 "영어, 수학, 국어" 중 하나인데 [표2] 할인율표의 과목은 "영어, 기타"입니다. 즉, 영어와 그 외의 과목으로 구분하라는 의미이지요.
이런 경우 "영어"만 정확히 찾고 나머지는 모두 "기타"로 처리해야 하는데 "영어, 수학, 기타, 국어"로 내림차순 정렬되므로 이 방법을 이용할 수 없습니다.
왜냐면, 내림차순이므로 '옵션'으로 -1을 사용해야하는데 "국어"는 "기타"보다 작아 기타로 처리되지만, "수학"은 "기타"보다 크므로 "영어"로 처리됩니다.
이런 경우, 별도로 찾을 데이터가 있는 범위를 만들어 주면 됩니다.
가장 큰 "영어"와 두 번째 큰 항목인 "수학"을 두 번째로 하여 범위를 만들면 "영어"를 제외한 모든 과목은 "수학"으로 처리됩니다. "수학"이 "기타"역할을 하는 것이지요.
4)
계산작업에서는 제시된 함수나 연산자가 있다면 반드시 사용해 주셔야 합니다.
하지만, 필요한 경우 +, - 연산자처럼 & 연산자는 임의로 사용하실 수 있습니다.
5)
회원리뷰수 >=150 and 판매량 >=7000 는 두가지 조건 모두 만족할 경우에만 "강력추천"을 변수에 넣습니다.
if 조건에 만족하는 데이터라면 elseif 를 판단하지 않고 endif로 제어가 이동됩니다.
if 조건이 만족하지 않는 경우, elseif를 확인하고, 여기에도 만족하지 않는 경우 아래 elseif, else 순으로 비교하게 되는 것이지요.
그래서 해설과 같이 작성된 것입니다.
좋은 하루 보내세요.
-
관리자2018-12-24 14:18:05
안녕하세요.
1) 네, 무방합니다. 계산작업의 수식은 여러개가 존재할 수 있습니다.
시험에서는 결과가 맞고, 제시된 함수가 사용되었다면 모두 정답으로 인정됩니다.
2) for 변수=시작 to 끝 step 증가분
next
의 형식이 기본 구조가 됩니다. 변수가 시작값 부터 끝값까지 step 증가분 만큼 증가/감소하며 반복하는 것입니다.
next를 만나면 for문으로 다시 돌아가게 되고, 변수의 값이 시작값~끝값 범위 밖이라면 for 문을 빠져나옵니다.
step 증가분은 생략시 1씩 증가됩니다.
3)
MATCH(찾을 값, 범위, 옵션)
: 범위에서 옵션을 적용하여 찾을 값과 같은 데이터를 찾아 그 위치에 대한 일련번호를 반환하는 함수입니다.
옵션 -1
: 옵션을 -1로 지정하면 찾을 값이 없을 경우 '찾을 값' 보다 큰 값 중에서 가장 작은 값을 찾습니다. 이때 범위는 반드시 내림차순으로 정렬되어야 합니다.
{"영어", "수학"}
: [표1]의 과목은 "영어, 수학, 국어" 중 하나인데 [표2] 할인율표의 과목은 "영어, 기타"입니다. 즉, 영어와 그 외의 과목으로 구분하라는 의미이지요.
이런 경우 "영어"만 정확히 찾고 나머지는 모두 "기타"로 처리해야 하는데 "영어, 수학, 기타, 국어"로 내림차순 정렬되므로 이 방법을 이용할 수 없습니다.
왜냐면, 내림차순이므로 '옵션'으로 -1을 사용해야하는데 "국어"는 "기타"보다 작아 기타로 처리되지만, "수학"은 "기타"보다 크므로 "영어"로 처리됩니다.
이런 경우, 별도로 찾을 데이터가 있는 범위를 만들어 주면 됩니다.
가장 큰 "영어"와 두 번째 큰 항목인 "수학"을 두 번째로 하여 범위를 만들면 "영어"를 제외한 모든 과목은 "수학"으로 처리됩니다. "수학"이 "기타"역할을 하는 것이지요.4)
계산작업에서는 제시된 함수나 연산자가 있다면 반드시 사용해 주셔야 합니다.
하지만, 필요한 경우 +, - 연산자처럼 & 연산자는 임의로 사용하실 수 있습니다.
5)
회원리뷰수 >=150 and 판매량 >=7000 는 두가지 조건 모두 만족할 경우에만 "강력추천"을 변수에 넣습니다.
if 조건에 만족하는 데이터라면 elseif 를 판단하지 않고 endif로 제어가 이동됩니다.
if 조건이 만족하지 않는 경우, elseif를 확인하고, 여기에도 만족하지 않는 경우 아래 elseif, else 순으로 비교하게 되는 것이지요.
그래서 해설과 같이 작성된 것입니다.
좋은 하루 보내세요.