안녕하세요 , 학습 중 궁금한 점이 생겨 질문남깁니다.
질문 1
문제
: 수강과목을 이용하여 과목에 따른 난이도별 수강인원을 계산하시오.
- 수강과목에서 '-' 앞은 과목을 나타내고 '-'뒤는 난이도를 나타냄
- 수강과목에서 과목과 난이도를 찾을때, 오류가 발생하면 공백으로 나타나시오
- count , find, iferror 함수와 &연산자사용한 배열수식 (표시 예 : 2건)

해당 문제에서
=COUNT((IFERROR(FIND($B31,$C$4:$C$24),""))*(IFERROR(FIND(C$30,$C$4:$C$24),""))) & "건"
=IFERROR(COUNT(FIND($B31,$C$4:$C$24)*FIND(C$30,$C$4:$C$24)), "") &"건"
두 식의 결과값은 동일하던데
두 식 간의 차이가 있는건지 궁금합니다.
첫번째 식이 정답이던데 혹시 두번째 식으로 풀면 오답처리 될까요 . . ?
질문2 또 다른 궁금증입니다.
Public Function fn비고(출석일수, 결석일수)
Dim 비고
비고 = 출석일수 / (출석일수 + 결석일수)
Select Case 비고
Case 1
fn비고 = "우수"
Case Is < 0.8
fn비고 = "재수강"
Case Else
fn비고 = ""
End Select
End Function
Public Function fn비고(출석일수, 결석일수)
비고 = 출석일수 / (출석일수 + 결석일수)
Select Case 비고
Case = 1
fn비고 = "우수"
Case Is < 0.8
fn비고 = "재수강"
Case Else
fn비고 = ""
End Select
End Function
두 식간의 차이는 "dim" 그리고 case "="1 두개뿐이고 결과값은 동일하게 출력됩니다.
이또한 결과값만 맞으면 정답으로 채점 인정될 수 있는 부분일까요 ??
늘 답변 감사합니다.
좋은 하루 되세요.
안녕하세요.
1)
첫 번째 수식이 정답인 이유
=COUNT((IFERROR(FIND($B31,$C$4:$C$24),""))*(IFERROR(FIND(C$30,$C$4:$C$24),""))) & "건"
[조건부 오류 처리]
문제에서 "과목과 난이도를 찾을 때, 오류가 발생하면 공백으로 나타내라"고 했습니다. 첫 번째 식은 각 FIND 함수마다 IFERROR(..., "")를 감싸서, 찾는 글자가 없을 경우 즉각적으로 공백 처리를 수행합니다.
[배열 계산의 정확성]
두 IFERROR의 결과를 곱하면, 둘 다 숫자인 경우에만 숫자가 남고 하나라도 공백이면 오류(Value)가 됩니다. COUNT 함수는 이 오류들을 제외하고 실제 숫자가 남은 행(두 조건 모두 만족)만 세어주므로 정확한 인원수가 나옵니다.
형식 준수: COUNT 결과 뒤에 & "건"을 붙여 문제의 표시 예시를 정확히 따르고 있습니다.
두 번째 수식이 부적절한 이유
두 번째 식(IFERROR(COUNT(...), ""))은 구조상 COUNT 함수가 오류를 내뱉을 때만 공백을 출력합니다. 하지만 COUNT는 데이터가 없으면 0을 반환하지 에러를 내지 않으므로, 사실상 오류 발생 시 공백 처리라는 문제의 요구사항을 논리적으로 수행하지 못합니다.
2)
방법은 달라도 결과가 맞으면 실제 시험에서는 맞게 채점됩니다.
교재 채점 프로그램이 정답 파일과 비교하는 방식이라 동일한 결과가 산출되어도 비교 대상 값이 다르면 틀리게 채점되는 경우가 있습니다.
실제 시험장에서는 작업용과 채점용이 동일하여 프로그램 버전도 관계없으며, 지시사항에 맞게 처리하여 결과가 맞게 산출되면, 맞게 채점되니 이점 학습에 참고하세요.
즐거운 하루 되세요.
-
관리자2026-03-26 13:25:13
안녕하세요.
1)
첫 번째 수식이 정답인 이유
=COUNT((IFERROR(FIND($B31,$C$4:$C$24),""))*(IFERROR(FIND(C$30,$C$4:$C$24),""))) & "건"
[조건부 오류 처리]
문제에서 "과목과 난이도를 찾을 때, 오류가 발생하면 공백으로 나타내라"고 했습니다. 첫 번째 식은 각 FIND 함수마다 IFERROR(..., "")를 감싸서, 찾는 글자가 없을 경우 즉각적으로 공백 처리를 수행합니다.
[배열 계산의 정확성]
두 IFERROR의 결과를 곱하면, 둘 다 숫자인 경우에만 숫자가 남고 하나라도 공백이면 오류(Value)가 됩니다. COUNT 함수는 이 오류들을 제외하고 실제 숫자가 남은 행(두 조건 모두 만족)만 세어주므로 정확한 인원수가 나옵니다.
형식 준수: COUNT 결과 뒤에 & "건"을 붙여 문제의 표시 예시를 정확히 따르고 있습니다.
두 번째 수식이 부적절한 이유
두 번째 식(IFERROR(COUNT(...), ""))은 구조상 COUNT 함수가 오류를 내뱉을 때만 공백을 출력합니다. 하지만 COUNT는 데이터가 없으면 0을 반환하지 에러를 내지 않으므로, 사실상 오류 발생 시 공백 처리라는 문제의 요구사항을 논리적으로 수행하지 못합니다.
2)
방법은 달라도 결과가 맞으면 실제 시험에서는 맞게 채점됩니다.
교재 채점 프로그램이 정답 파일과 비교하는 방식이라 동일한 결과가 산출되어도 비교 대상 값이 다르면 틀리게 채점되는 경우가 있습니다.
실제 시험장에서는 작업용과 채점용이 동일하여 프로그램 버전도 관계없으며, 지시사항에 맞게 처리하여 결과가 맞게 산출되면, 맞게 채점되니 이점 학습에 참고하세요.
즐거운 하루 되세요.