책 내용 질문하기
번호 46047의 추가 질문 입니다.
도서
[2013] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
105
조회수
80
작성일
2013-02-04
작성자
탈퇴*원
첨부파일

해 주신 답변이 제가 기대했던 만큼은 아니고, 수고 해 주셨음에도 다소 성의 없다는 느낌을

지울 수가 없어서요....

첫째. 답변 처럼 '숫자(정가) / mid(도서코드, ~,~)' 에서 mid 의한 결과가 문자이나 숫자형태 이므로

엑셀은 데이터 유형이 상이함에 불구 연산이 ' / ' 이므로 알아서 숫자로 판단, 인식한다는

것인지?

둘째. 실제 시험 및 시험장에서 위와 같은 의문이 발생시 액셀은 알아서 상이한 데이터 유형의 연산을

형태에 맞게 판단, 인식하니 수험생들은 염려 하지말라는 뜻 인지요

예로 c3셀에 숫자 121, c4셀에 문자 a-121-b 인 상황에서 ' = c3 = mid(c4,3,3)' 은 'false', =c3*mid(c4,3,3)'

은 '109', ' =round(c3/mid(c4,3,3),0)' 은 '-10' 의 결과가 나오더라구요. 예상되는 결과가 아닐거라 보여집니다. 그리고 'val' 써주면 된다 하셨는데 ' =val(c4)' 하니 #NAME? 나와 정확히 알려주셨을 텐테 하며

혹시나 하는 마음으로 '=value(mid(c4,3,3))' 하니 '-12'가 되더라구요.

도무지 종 잡을 수 가 없네요. 좀 체계적으로 담당자님의 '아버지,형, 동생' 이 컴활1급 실기 시험을 합격 해야 한다는 간절함으로 성심이 가득한 답변 바랍니다. 체계적인 이해가 아니면 정시 든 상설 이든 컴활자격증 시험

의 응용문제 부분은 수혐자가 틀릴 확율은 높아질 테니깐요. 제가 드린 질문, 해 주신 답변에 대한 저의

'받아들임' 등등 관련 된 것들이 틀렸길 기대 합니다.

답변
2013-02-06 11:37:34

1. 네 mid 에서 문자로 나온 값이 "2" 이라면

문자 "2" 에 해당하지만 숫자의 모양을 하고 있기 때문에 10/"2" 를 하여도 5 라는 숫자 값이 나올 수 있다는 것입니다.

2. 실제 시험에서도 이와 같이 결과가 나온다면 사용이 가능합니다.

하지만 =c3=mid(c3,3,3) 의 경우는 다릅니다. c3셀에 있는 값이 234 이라면 mid에서 나온값이 "234" 가 됩니다.

둘을 비교하는 연산이기 때문에 =234="234" 가 되는데 숫자와 문자를 비교하는 경우 같은 결과가 나올 수 없습니다.

그러므로 value 를 사용하셔야 합니다.

=c3=value(mid(c3,3,3))

그리고 질문 주신 내용은 사용자 정의 함수였기 때문에

사용자 정의 함수를 사용하는 프로시저에서는 value 가 아닌 val 이 사용되어야 하므로

Public Function F단가(도서코드, 정가)

If Len(도서코드) = 7 Then
F단가 = Round(정가 / Val(Mid(도서코드, 3, 2)), 0)

Else
F단가 = Round(정가 / Val(Mid(도서코드, 3, 2)), 0)
End If

End Function

와 같이 사용해 보시라는 것이었습니다.

프로시저에 사용되는 함수와 엑셀 셀에서 사용되는 함수가 다를 수 있으니 확인 후 사용해 보세요.

좋은 하루 되세요.

"
  • *
    2013-02-06 11:37:34

    1. 네 mid 에서 문자로 나온 값이 "2" 이라면

    문자 "2" 에 해당하지만 숫자의 모양을 하고 있기 때문에 10/"2" 를 하여도 5 라는 숫자 값이 나올 수 있다는 것입니다.

    2. 실제 시험에서도 이와 같이 결과가 나온다면 사용이 가능합니다.

    하지만 =c3=mid(c3,3,3) 의 경우는 다릅니다. c3셀에 있는 값이 234 이라면 mid에서 나온값이 "234" 가 됩니다.

    둘을 비교하는 연산이기 때문에 =234="234" 가 되는데 숫자와 문자를 비교하는 경우 같은 결과가 나올 수 없습니다.

    그러므로 value 를 사용하셔야 합니다.

    =c3=value(mid(c3,3,3))

    그리고 질문 주신 내용은 사용자 정의 함수였기 때문에

    사용자 정의 함수를 사용하는 프로시저에서는 value 가 아닌 val 이 사용되어야 하므로

    Public Function F단가(도서코드, 정가)

    If Len(도서코드) = 7 Then
    F단가 = Round(정가 / Val(Mid(도서코드, 3, 2)), 0)

    Else
    F단가 = Round(정가 / Val(Mid(도서코드, 3, 2)), 0)
    End If

    End Function

    와 같이 사용해 보시라는 것이었습니다.

    프로시저에 사용되는 함수와 엑셀 셀에서 사용되는 함수가 다를 수 있으니 확인 후 사용해 보세요.

    좋은 하루 되세요.

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