1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

UDF에 의한 계산 결과 오류

엑셀일반 조회 수 2861 추천 수 0 2012.01.13 11:08:43

안녕하세요^^

 

엑셀의 초짜가 감히 매크로 함수를 이용한 금액 집계표를 만들었습니다. 첨부한 3개 xlsm file은 입력 숫자만 다른 같은 시트입니다.

사용한 함수는 금액 집계를 위한 것인데, 첨부한 참고서의 예제를 따라 "=fn동일색합계(G4:G17,F3,1)" "=fn동일색합계(G5:G10,G4,0)" 두 가지를 사용 했습니다.

사용한 UDF들이 아별 UDF “sumbyCellColor”와 같은 기능인 것을 뒤늦게 알게 됐습니다.

 

함수 작성 기록을 정리해보면;

     1) "=fn동일색합계(G4:G17,F3,1)"는 색상이 같은 Cell의 값을 더하는 것으로서,

        각 대공종(Test Item 1 & 2)의 합계인 공사비 합계를 구하기 위해 F3,H3,J3에 등록했습니다.

     2) "=fn동일색합계(G5:G10,G4,0)"는 글꼴색이 같은 숫자를 더하는 것으로서,

        각 Sub-Item의 계를 구하기 위해 Test Item 행인 G4,I4,K4G11,I11,K11에 등록했습니다.

두 수식의 차이점은 마지막 인수가 “0”이면 글꼴색을, 그 이외의 숫자를 기입하면 바탕색을 참조하는 것입니다.

 

그 외의 행과 열의 수식은 그 아래나 왼쪽의 값을 더하기 위해 단순히 “=SUM(“ 함수를 사용 했습니다.

 

< 현 상 >

시트를 작성하고 테스트를 해보았더니 매우 큰 숫자의 집계 결과의 표현에 오류가 생기는 것입니다.

     - File “Result-Test_Case1_Step1.xlsm” 단계 까지는 정확한 결과를 보여 줍니다.

     - File “Result-Test_Case1_Step2.xlsm”에서 J13의 값을 증가시키자 총액 합계에 8이 부족한 오류가 나타납니다.

       이런 현상은 입력된 숫자에 따라 “Test Item”의 총액에도 발생하며 오차는 +인 경우도 있고 인 경우도 있습니다.

     - File “Result-Test_Case2.xlsm"은 더 큰 숫자를 표현해보기 위해 Cell 폭을 임시로 변경했습니다.

       백억 단위를 입력하니 총액의 계가 모두 큰 오차를 보여주는데, 테스트를 해보니 천만 단위에서도 같은 현상이 나타납니다. 특히 입력 숫자의 마지막이 0이 아닌 다른 숫자인 경우에 더욱 그렇습니다. 내부적으로 뭔가 숨어 있는듯 합니다.

 

< 질 문 >

이 시트의 함수를 위해 참고서 저자가 제공한 “mod색합계.bas”를 사용했으며 이 모듈에 대한 설명은 첨부 참고서 (1~5).jpg”에 있습니다.

제가 엑셀의 초짜라 어떤 오류에 기인한 것인지 찾아내지를 못하고 있습니다.

그리고 혹 VB 모듈을 수정해서 해결이 가능하다면 수정과 시트에 재적용 방법도 궁금합니다.

 

< 대 안 >

“sumbyCellColor”““sumbyFontColor”로 대체하면 해결이 될 것 같은데 VB 모듈을 구하는 길과 사용법을 알고 싶습니다.

 

 

출판사를 통하여 저자에게 질문을 해도 감감 무소식이라 고수님들께 해답을 구해봅니다.

 


댓글 '2'

profile

[레벨:30]아별

2012.01.13 14:53:49
*.104.126.21

안녕하세요? 엑셀의 초짜님..

사용자 정의 함수(UDF)를 공부하시는군요..

본인이 필요한 함수를 직접 개발해서 사용한다는 것은 멋진일이죠.. 화이팅입니다.


일단 답변부터 드리겠습니다.


    아래 선언문을 

    Dim sSum As Single


    아래처럼 변경하시면 됩니다.

    Dim sSum As Double


데이터 형식에 대한 것은 엑사모에서 참고하시면 될 것 같아요..

http://examo.co.kr/

위 링크로 들어가서 로그인 하신 다음에 아래 링크 참조..

http://examo.co.kr/tn/board.php?board=qqqVBA&search=%C7%FC%BD%C4&shwhere=subject%7C&command=body&no=12



음.. 그리고..


    결과 값을 돌려줄때.. 왜 반올림을 하는지는 모르겠네요..

    fn동일색합계 = Round(sSum, 2)


    그냥 계산 결과를 리턴하는게 좋을 것 같습니다.

    fn동일색합계 = sSum


도움이 되셨기를..

[레벨:0]엑셀의 초짜

2012.01.13 15:07:01
*.196.124.177

아이고 엑셀의 "신"님 감사합니다.

대략 엑셀을 등한시 하다가 뭔가 새로 시작을 해볼려니 그리 만만치 않군요.

우선 용어가 생소해서 퍼뜩 다가오지를 않습니다.

 

항상 즐거운 시간 되시기 바랍니다. ♡

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 41658
382 VBA 외부 어플리케이션 실행 & 유저폼 일괄 닫기 & 리본 메뉴 사용자 추가 탭 숨기거나 보이게 하는 방법 [7] [레벨:3]엑셀대단해 2012-02-08 4657
381 엑셀일반 아별님 큰일 났습니다.ㅠㅠ [1] [레벨:2]연어빵 2012-02-04 2204
380 IF수식 특정조건에 만족이 되면 끝에 문자를 추가하는 방법 file [3] [레벨:4]부루끄 2012-02-02 3202
379 아별툴관련질문 아별 깔고나서 글이 안써져요 [1] [레벨:1]박주연 2012-02-02 2625
378 엑셀일반 아별을 깔면 이러네요.ㅠ.ㅠ 엑셀 창이 알트텝으로 검색이 안되요 imagefile [2] [레벨:2]큰아빠에요 2012-01-30 4321
377 아별툴관련질문 아별툴 설치시 오류...ㅠ.ㅠ imagefile [4] [레벨:1]House 2012-01-22 2833
376 IF수식 조건 함수문의 file [2] [레벨:3]블루짱이 2012-01-17 2496
375 아별툴관련질문 쥔장님! 오류가 나서요. 한번 봐주세요. [3] [레벨:1]함도 2012-01-17 2452
374 아별툴관련질문 아별툴을 설치 하고 나서 crtl+f 의 기능 중에.. [4] [레벨:2]큰아빠에요 2012-01-16 2829
373 엑셀일반 함수 관련 질문 드립니다. file [2] [레벨:3]블루짱이 2012-01-13 2470
» 엑셀일반 UDF에 의한 계산 결과 오류 [2] [레벨:0]엑셀의 초짜 2012-01-13 2861
371 엑셀일반 바꾸기 기능 file [4] [레벨:0]불꽃남자76 2012-01-12 2356
370 엑셀일반 [Ctrl + F] 찾기 관련 질문... [9] [레벨:4]나카타 2012-01-09 2506
369 엑셀일반 입력된 데이터의 끝으로 이동하는 방법이 궁금합니다. [1] [레벨:6]파이스 2012-01-09 4216
368 엑셀일반 엑셀 듀얼모니터 사용 시 붙여 넣기 문제 [2] [레벨:3]읍내꽃미남 2012-01-09 4412
367 테두리 두께 변경과 색상 입히기 file [2] [레벨:1]최선 2012-01-08 4351
366 엑셀일반 ㅠ-ㅠ [1] [레벨:3]빛의행운아 2012-01-03 2658
365 피벗테이블 질문하나 더 올립니다 file [6] [레벨:4]pgpoch 2012-01-02 2666
364 엑셀일반 구버전 호환모드로 로드 시, 계행문자 줄바꿈 저장 안되는 현상 관련 file [2] [레벨:6]파이스 2012-01-02 4205
363 엑셀일반 엑셀에서 가로 세로 바꾸기 입니다. file [2] [레벨:4]pgpoch 2011-12-30 3637