책 내용 질문하기
[계산문제] int와 choose 사용문제 질문이요
도서
[2014] 컴퓨터활용능력 2급 실기(엑셀 2007 사용자용)
페이지
284
조회수
276
작성일
2014-03-30
작성자
첨부파일

총점 D3:D9이

90이상이면 A 70이상이면 B 50이상이면 C 30이상이면 D 30미만이면 F 주시오.

int. choose 쓰시오.

총점은 90.79.80.44.52.61.8 총 7개 입니다.

답:=choose(int(D3/10)+1,"F","F,"F","D","D","C","C","B","B",A","A")

여기서 질문입니다.

1번. choose(int(D3/10)+1에서 왜 D3/10으로 나눠주나요?

5도 있고 총점이 7개니까 7로 나눠야하는거 아닌가요?

2번. (D3/10)+1을 수식으로 나타내면 (90/10)+1입니다. 그러면 10입니다.

근데 왜 "F","F,"F","D","D","C","C","B","B",A","A") choose에는 11개 F-A까지 넣나요?

3번. "F","F,"F","D","D","C","C","B","B",A","A"넣을때 F가 왜 3번들어가고 D가 2번 C2번 B2번 A2번이

들어가나요? F.F.D.D.D.C.C.B.A.A.A 이렇게 들어가면 안돼나요??

답이 왜 저렇게 되는지 모르겠습니다!

답변
2014-03-30 07:39:19

choose 함수 사용법을 보시면(53p) =choose(인수,첫번째,두번째,...)

인수가 1이면 첫번째를, 2이면 두번째를,...

한마디로 요일 번호가 1이면 "일",2이면 "월",3이면 "화",4이면 "수",.....

= choose(c3,"일","월","화","수","목","금","토") 가 되는 것이지요.

문제에서

90이상이면 "A",70이상이면 "B", 50이상이면 "C",30이상이면 "D", 30미만이면 "F" 를 평점에 표시하라고 했기 때문입니다.

30미만이므로 0~29까지 입니다. 0~1까지 10으로 나누면 0이 나오기 때문에 +1 을 해서 1로 만들어주고

10~19까지 10으로 나누면 1 거기에 +1을 하면 2,

20~29까지 10으로 나누면 2 거기에 +1을 하면 3,

이 되므로 1,2,3 이 0~29까지의 값이됩니다. 그래서 choose의 인수가 1,2,3 일때 값을 반환하기 위해서

choose 인수의 첫번째,두번째, 세번째에 "F" 가 들어가는 것이죠.

그리고 +1 을 하는 이유는 0~9값을 10으로 나누면 0이 나오기 때문에 0값은 choose 함수에서 사용할 수 없으므로 +1을 하여 1의 값을 만들어 주게 되는 것이죠. 그래서 1이 나오면 "F" 를 반영할 수 있도록

choose(int(d3/10)+1,"F",.....) 로 사용하는 것입니다.


30미만인 것 즉 1,2,3 이라는 인수가 나온 것은 F가 되어야 하므로

choose(int(d3/10)+1,"F","F","F"...

로 사용하는 것이죠.

책에 설명되어 있듯이 81을 10으로 나누면 8이되고 거기에 +1을 하게되면 9가 됩니다.

80이상이면 "B" 가 되어야 하기때문에 9는 "B"로 맞게 됩니다.

좋은 하루 되세요.

"
  • *
    2014-03-30 07:39:19

    choose 함수 사용법을 보시면(53p) =choose(인수,첫번째,두번째,...)

    인수가 1이면 첫번째를, 2이면 두번째를,...

    한마디로 요일 번호가 1이면 "일",2이면 "월",3이면 "화",4이면 "수",.....

    = choose(c3,"일","월","화","수","목","금","토") 가 되는 것이지요.

    문제에서

    90이상이면 "A",70이상이면 "B", 50이상이면 "C",30이상이면 "D", 30미만이면 "F" 를 평점에 표시하라고 했기 때문입니다.

    30미만이므로 0~29까지 입니다. 0~1까지 10으로 나누면 0이 나오기 때문에 +1 을 해서 1로 만들어주고

    10~19까지 10으로 나누면 1 거기에 +1을 하면 2,

    20~29까지 10으로 나누면 2 거기에 +1을 하면 3,

    이 되므로 1,2,3 이 0~29까지의 값이됩니다. 그래서 choose의 인수가 1,2,3 일때 값을 반환하기 위해서

    choose 인수의 첫번째,두번째, 세번째에 "F" 가 들어가는 것이죠.

    그리고 +1 을 하는 이유는 0~9값을 10으로 나누면 0이 나오기 때문에 0값은 choose 함수에서 사용할 수 없으므로 +1을 하여 1의 값을 만들어 주게 되는 것이죠. 그래서 1이 나오면 "F" 를 반영할 수 있도록

    choose(int(d3/10)+1,"F",.....) 로 사용하는 것입니다.


    30미만인 것 즉 1,2,3 이라는 인수가 나온 것은 F가 되어야 하므로

    choose(int(d3/10)+1,"F","F","F"...

    로 사용하는 것이죠.

    책에 설명되어 있듯이 81을 10으로 나누면 8이되고 거기에 +1을 하게되면 9가 됩니다.

    80이상이면 "B" 가 되어야 하기때문에 9는 "B"로 맞게 됩니다.

    좋은 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.