시나공 IT
험에
오는 것만
부한다!

통합검색

1:1 질문하기

제목 엑셀,엑세스 2016 2022년 상시01 컴퓨터활용능력 1급( 엑셀) p161, p164
자격증 컴퓨터활용능력 1급 실기
도서/쪽 페이지 2023 시나공 컴퓨터활용능력 1급 실기 / 0쪽
등록일 2022-09-23 조회 30
작성자 김*현

----------------------------------------------------------------p161-------------------------------------------------

계산작업의 3.에서 if,count,find 함수를 사용하여 작성하라고 되어있는데

=COUNT((FIND($C$3:$C$32,C$35&"-"&$B36))) 

로만 작성하여도 답은 동일하게 나와서

=COUNT((FIND($C$3:$C$32,C$35&"-"&$B36)))*if(true,1) 

과 같이 if 함수를 저런 식으로 사용해도 정답 처리가 되는 것인지 궁금합니다.

----------------------------------------------------------------p164--------------------------------------------------

기타작업의 3.②에서 '평균'에는 '1차','2차','3차'의 평균을 정수로 입력하라고 해서

cells(입력행,8)=int((txt1차.value+txt2차.value+txt3차.value)/3)

로 입력했더니 평균이 아닌 엄청 큰 숫자가 나옵니다.

답과 같이

cells(입력행,8)=int((cells(입력행,5)+cells(입력행,6)+cells(입력행,7))/3)

로 입력하면 평균이 나오는데 이미 저 코드 위에서

cells(입력행,5) = txt1차.value 

cells(입력행,6) = txt2차.value 

cells(입력행,7) = txt3차.value 

이런 식으로 셀에 내용을 입력했는데 왜 두 코드가 같은 값이 나오지 않고 제가 입력한 코드는 평균이 아닌 다른 값이 나오는지 모르겠습니다.

 

③의 정답은

msgbox date,vbokonly,"종료"

unload me

으로 나와있습니다.

실제 저 코드를 실행시키면 문제와는 다르게

메세지의 제목은 "폼종료"가 아닌 "종료"이고

내용은 오후 9:04:22와 같은 시간이 나오는 것이 아닌

2022-09-23 같은 날짜가 나오게 됩니다.



왜 문제의 답과 다르게 실행되는지 궁금합니다

첨부파일
  • 첨부파일 없음
제목 답변입니다.
등록일 2022-09-26

1. 주어진 함수를 사용하고 정확한 결과가 나온다면 정답으로 인정 될 수 있습니다. 

 

2. 일반 적으로 값을 받으면 문자 값으로 받게 됩니다. 

 

간혹 프로그램 상에서 판단하여 숫자는 숫자로 받는 경우도 있긴 합니다. 

 

되도록이면 해당 값이 숫자인지 문자인지를 확실 하게 해 주는 것이 좋겠죠.  

 

다른 문제이지만 같은 내용이므로 아래 내용을 확인 해 보세요. 

 

(txt국어.Value + txt영어.Value + txt수학.Value)/3 

 

와 같이 입력하면 

 

국어 80

영어 90

수학 100

 

으로 입력한 경우

 

8090100 으로 값을 연결해서 표시하게 됩니다. 

 

이 값을 3으로 나누면 2696700 로 표시가 되네요. 


컨토롤명.value 라는 해당 컨트롤의 값을 뜻하는 것인데 + 가 연결로 처리가 되어 그렇게 표시되는 것입니다. 


val 은 받은 값을 숫자로 나타내기 위해 사용하는 것으로 


숫자값으로 변경 된 후에는 


80+90+100 으로 계산한 후 /3 을 수행 할 수 있는 것입니다. 


아래 설명을 참고해 주세요. 


val은 문자로 받은 데이터을 숫자로 나타낼때 쓰이는 것입니다.


하지만 수량이나 단가는 대부분 숫자로 입력을 받습니다. 

 

문자로 입력이 된다 하더라도 숫자의 형식을 가지고 있기 때문에 계산이 가능 합니다.


만약 val을 쓰지 않고도 계산이 가능 하다면 val을 사용 하지 않으 셔도 됩니다.

물론 사용 하셔도 되구요.

지시사항에 val를 꼭 사용 하라고 되어 있지 않고, val을 사용 하지 않아도 계산이 가능 하다면 val를 사용 하시지 않으셔도 됩니다.

 

value 는 값을 뜻하는 것입니다. 

 

VALUE를 붙이지 않아도 정상적으로 실행된다면 붙이지 않아도 됩니다. 

 

폼에 입력된 데이터를 워크시트에 입력할 때 VALUE를 붙이면 숫자는 수치 데이터, 텍스트는 텍스트 형식, 날짜는 날짜 형식으로 입력되는데, 붙이지 않으면 모두 텍스트 형식으로 입력 되기때문에 데이터 형식을 맞춰주는 작업을 해야 합니다. 

 

실제 시험에서 지시사항에 별다른 설명이 없었다면 둘 중 어느것을 사용하시든 정확한 결과가 나오면 정답으로 인정 될 것 입니다.

 

프로시저에서 사용하는 함수와 엑셀에서 사용하는 함수가 달라 작동되지 않을 수 있으므로 잘 확인 한 후 사용하세요. 

 

3. 시간이 나오려면 time 을 사용해야 하는 것이 맞습니다. 

 

학습하시는데 불편을 드려 죄송합니다. 

 

Private Sub cmd닫기_Click()

    MsgBox Time, , "폼종료"

    Unload Me

End Sub


좋은 하루 되세요. 

 

첨부파일
  • 첨부파일 없음