문제: 총점(D3:D9)이 90이상이면 "A",70이상이면 "B", 50이상이면 "C", 30이상이면 "D",30미만이면 "F"를
평점 (E3:E9)에 표시하시오.
CHOOSE와 INT함수 사용.
답=CHOOSE(INT(D3/10)+1,"F","F"."F","D","D"."C","C","B","B","A","A")
같은질문에 댓글로 답 단걸 봤는데도 이해가 안가는게 하나 있어서 질문올립니다 ㅠㅠ
문제에서는 F가 30미만이라는데 3번째에 F가 들어가는 이유가 뭔가요??
저 순서부분을 어떻게 이해해야하나요??ㅠㅠ
0~9까지는 "F", 10~19 "F", 20~29 "F", 30~39 "D", 40~49 "D", 50~59 "C", 60~69 "C", 70~79 "B", 80~89 "B", 90~99 "A", 100 "A"가 되는 것입니다.
그러므로 F 가 3개가 되어야 하는 것이죠.
그리고 +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"로 맞게 됩니다.
choose의 인수를 11개로 사용한 것은 표시해야 하는 값이 11개 이기 때문입니다.
사용하지 않은 인수는 false 등으로 표시되게 됩니다.
좋은 하루 되세요.
-
*2018-05-04 11:19:28
0~9까지는 "F", 10~19 "F", 20~29 "F", 30~39 "D", 40~49 "D", 50~59 "C", 60~69 "C", 70~79 "B", 80~89 "B", 90~99 "A", 100 "A"가 되는 것입니다.
그러므로 F 가 3개가 되어야 하는 것이죠.
그리고 +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"로 맞게 됩니다.choose의 인수를 11개로 사용한 것은 표시해야 하는 값이 11개 이기 때문입니다.
사용하지 않은 인수는 false 등으로 표시되게 됩니다.
좋은 하루 되세요.