태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
 

850*77.1=100,000?

[2007/09/27 10:40, Computer]
랜덤여신의 폐인모드 - "Excel 2007의 황당한 버그 - 85077_1은 100,000" 글에서 엑셀 2007의 버그를 소개합니다. 850*77.1의 값은 65,535인데 100,000으로 나온다는 것이죠. 이런 버그가 하나 뿐인지는 모르겠습니다만, 스프레드시트 프로그램으로써 가장 기본이 되는 계산에 오류가 있다면 안 되겟지요.

엑셀의 결과 값을 철석같이 믿는 분들이 많고 워드로 작업할 문서 작업도 모두 엑셀로 사용하시는 분도 가끔 뵙니다. 메일로 받았을 때, 엑셀로 작성된 문서 파일을 받을 때도 있구요.

스프레드시트 프로그램1979년에 "댄 브리클린"이 Apple II용으로 만든 비지칼크(VisiCalc)가 최초였습니다. 참 대단한 프로그램이었죠. 요즘 고사양의 PC와 비교도 되지 않는 열악한 환경의 Apple II에서 스프레드시트 프로그램을 만들었으니까요. 또한, 사용하기도 편해서 매우 많은 곳에서 사무용으로 사용한 매우 유명한 프로그램입니다.<

저도 가끔 엑셀만 제대로 사용한다면 컴퓨터 값을 뽑았다라고 얘기를 할 정도록 매우 훌륭한 프로그램입니다.

엑셀에 대한 추억

벌써 10년 전의 일입니다만 아침에 출근해 보니 경리 얼굴이 초췌하고 퀭해 보였습니다. 이유를 물어보니 견적서를 뽑느라 밤을 새웠다는 것이죠.

이유는 고급, 중급, 저급 인원과 자재 비용을 입력하여 최종 계약금을 계산하는데, 아마 대부분이 그럴지 모르겠습니다만 우선 계약금을 결정하고 인원이나 자재 수를 바꾸어 가면서 문서를 작성했습니다. 겨우 계산하면 인원수 배분이 마음에 들지 않는다, 자재가 한쪽으로 치우쳤다, 뭐다 되돌리기를 몇 번하고, 겨우 맞추면 사장님이 계약금을 바꾸더라는 것이죠.

들어 온 지 며칠 안 되는 신입 경리가 작은 탁상 계산기로 하고 있었으니 밤을 새울만도 하죠. 그리고 얼마나 힘들었겠습니까. 그러나 문제는 견적서를 들고 나가야 하는데 아직도 맞추지를 못했답니다. 사장님은 화가 났고, 경리는 곧 울음이라도 터트릴 것처럼 보였죠.

그때, 엑셀이 생각나서 급히 견적서 시트를 작성했습니다. 엑셀을 잘 몰랐지만 어떤 프로그램인가 궁금해서 만져 본적이 있던 것이 도움이 되었죠. 엑셀 책을 보면서 어찌어찌 만들었는데, 기억하기로는 3시간 정도 걸린 것으로 생각됩니다.

이제는 인원수와 자재 수를 바꿔 가면서 계약금을 맞출 수 있었고, 이런 계산을 보시던 이사님과 사장님은 계약금과 비용에 대해 더욱 집중할 수 있었습니다.

그리고 바로 인쇄. 매우 깔끔하게 작업 끝. 그리고 상대 측에서도 Microsoft사의 엑셀로 작성했다니까 아무 말도 안 하더라는 것이죠.

꼭 경리나 회계 업무를 보시지 않더라도 간단히 엑셀을 학습하시면 여러 모로 도움이 될 때가 많습니다. ^^
Trackback Address :: http://jwmx.tistory.com/trackback/932
Tracked from 랜덤여신의 폐인모드 | 2007/09/27 18:13 | DEL
Excel 2007의 재미난 버그가 발견되었습니다. microsoft.public.excel에서 처음 지적된 이 버그는, Excel 2007에서 =850*77.1 를 입력하면 올바른 답인 65,535가 나오는 것이 아니라 100,000이 나오는 버그입니다. 더욱 흥미로운 점은, A1에 =850*77.1가 있을 경우, =A1+1은 100,001이고, =A1-1는, 65,534이며, =A2*2는 131,070이고, =A1/2는 32767.5라는 것입니...
sehui32 | 2007/09/27 11:19 | PERMALINK | EDIT/DEL | REPLY
그치만.. 엑셀이 노가다가 될 경우도 종종 있어요...
BlogIcon jwmx | 2007/09/27 11:51 | PERMALINK | EDIT/DEL
그렇게 따지시면 모든 프로그램들이 다 그렇지 않나요? ^^
[비홍] | 2007/09/27 11:38 | PERMALINK | EDIT/DEL | REPLY
프로그램 하다가 가장 힘빠지는 말 중에 하나가
'엑셀만도 못한 프로그램' 이란 이야기를 듣는 때였었죠.
하지만 엑셀은 정말 대단한 프로그램이죠. ^^
BlogIcon jwmx | 2007/09/27 11:53 | PERMALINK | EDIT/DEL
아우...엑셀과 비교되신다면 대단한 실력가로 생각됩니다만,
한편으로는 엑셀을 별로 안 좋게 생각하시는 분들도 많다는 얘기인가요?
BlogIcon 줄빵 | 2007/09/27 11:46 | PERMALINK | EDIT/DEL | REPLY
어딜가도 가장 쓰게 되는 프로그램이 엑셀이 아닐까 합니다..^^
BlogIcon jwmx | 2007/09/27 11:56 | PERMALINK | EDIT/DEL
TV에서 어느 교수님이 연구한 결과를 엑셀로 수치와 그래프를 보여 주면서 설명하는데,
익숙치 않아서 인지 조금 놀랬습니다. 대부분 연구하시는 분들은 나름대로 전문 소프트웨어를
사용하시는 것으로 알았거든요.

예상하기로는 전문 소프트웨어가 따로 있지만 엑셀로 출력해서,
그 결과를 보여주는 것이 아닐까 생각됩니다.
인쇄부분 같은 경우 엑셀 파일로 출력해 달라고 요구하는 경우가 많거든요.
Dharma | 2007/09/27 12:31 | PERMALINK | EDIT/DEL | REPLY
엑셀 2003은 제대로 나와요...
jw매냐 | 2007/09/27 15:04 | PERMALINK | EDIT/DEL
저두요
2003에는 제대로 나오네요~
BlogIcon iDongUgi | 2007/09/27 13:17 | PERMALINK | EDIT/DEL | REPLY
어떤 분은 엑셀만 있으면 모든 문서 형식을 만들 수 있다는 말도 하신 걸 들었습니다. 엑셀이 겉 치장을 잘 할 수 없서서 그렇지 대단한 프로그램 인것 같아요.. 스프레드시트의 기능 이상의 것도 하니까요.. MS거라서 그런 기능이들이 많이 들어가 있기도 하지만요...ㅋ
BlogIcon jwmx | 2007/09/27 17:02 | PERMALINK | EDIT/DEL
엑셀이 대단한 프로그램임에는 틀림없습니다만,
그렇다고 엑셀만 사용하시는 분을 뵈면 안쓰럽기까지 합니다. ^^
두운초온 | 2007/09/27 13:31 | PERMALINK | EDIT/DEL | REPLY
대마소의 엑셀에 버그가 있다는 게 재미있습니다.
이것을 발견하신 분이 대단한 사람이네요.
850*77.1과 850*77.1+1에서만 버그가 발생하므로 별로 신경이 쓰이지는 않습니다.
2^16 = 65,636 근처에서 버그가 보이는 것이 수상합니다.
BlogIcon jwmx | 2007/09/27 17:03 | PERMALINK | EDIT/DEL
글쎄말이죠. 이런 버그를 어떻게 찾아 내는지 참, 신기합니다. ^^
ju2fafa | 2007/09/27 13:45 | PERMALINK | EDIT/DEL | REPLY
http://groups.google.com/group/microsoft.public.excel/browse_thread/thread/2bcad1a1a4861879/2f8806d5400dfe22
에서 보니 이런 내용이 있군요.

===========================================
Public Sub testBug()
Me.Range("D5";).Value = 850
Me.Range("D6";).Value = 77.1
Debug.Print _
Application.WorksheetFunction.SumProduct(Me.Range("D5";),
Me.Range("D6";))
End Sub

Also displays 65,535

===========================================
계산은 제대로 한다는 얘긴가요?
vbe를 사용하지 않고 직접 셀에 입력하면 결과가 어떨까요?
그러니까 =77.1*850 이라고 하지 않고
A1 에 77.1, B1에 850, C1에 =A1*B1 이라고 하면..
그나저나 이전버전에선 제대로 표현하던 것이 갑자기 버그로 나타났으니 문제군요.
2007버전을 잠시 설치했다가 인터페이스가 너무 변해 적응이 안 되서 안 쓰고 있습니다만..
한번 해 보고 싶긴 하군요.
ju2fafa | 2007/09/27 13:56 | PERMALINK | EDIT/DEL
윗글에서
괄호닫기 기호 " )"가 얄궂은 이모티콘으로 등장하네요^^
왜 그런지 모르겠습니다.
ju2fafa | 2007/09/27 13:54 | PERMALINK | EDIT/DEL | REPLY
위 분 =77.1*850 에서만 이런결과가 나와서 신경쓰이지 않는다고 하셨는데

=5.1*12850
=10.2*6425
=20.4*3212.5
=40.8*1606.25
=77.1*850
=154.2*425
=212.5*308.4
=308.4*212.5
=425*154.2
..etc

이 결과도 마찬가지라고 하는군요. 직접 해보진 않았습니다만..^^
동감이 가는 글이 있더군요.
http://www.joelonsoftware.com/items/2007/09/26b.html
대략 요약하자면 0.333333333333333333333333...
같은 숫자를 어떻게 컴퓨터에서 저장하느냐의 문제일 듯 하다는 거지요.
BlogIcon jwmx | 2007/09/27 17:04 | PERMALINK | EDIT/DEL
아이쿠, 문제가 심각하군요.
빨리 패치가 나왔으면 좋겠네요. ^^
내부고발자 | 2007/09/27 14:11 | PERMALINK | EDIT/DEL | REPLY
이제 겨우 오피스 2007의 인터페이스에 적응했는데, 버그가 있었군요. ^^
BlogIcon jwmx | 2007/09/27 17:05 | PERMALINK | EDIT/DEL
2007은 UI가 너무 많이 바뀌어서 당혹스럽습니다. ^^
톰팍 | 2007/09/27 15:46 | PERMALINK | EDIT/DEL | REPLY
심심해서 해봤습니다... ju2fafa 님이 말씀하신 것 처럼 수식으로 해봤는데도 결과는 같네요... 그리고, 그 아래에 나와 있는 것들도 결과가 같네요... 이거 괜스레 엑셀이 못미더워 지네요.. 킁...
BlogIcon jwmx | 2007/09/27 17:19 | PERMALINK | EDIT/DEL
나중에 엑셀로 해가면 상대방이 못 믿어워하는 것인지 모르겠습니다. ^^;

역시 몇 년 전의 일인데, 엑셀로 작성해서 위로 보고한 적이 있습니다.
그때 서류를 받으신 분이 정말 한량으로 왜 회사에 다니는지,
월급은 무슨 이유로 꼬박꼬박 가져가는지 전혀 이해가 되지 않는 분이셨습니다.

몇 시간 후에 저를 부르더니 서류를 제 얼굴로 던지면서 건물이 떠 내려갈듯 욕을 하더군요.
계산기로 여러번 확인해 보았는데, 계산이 틀리다는 것이죠.

원인은 반올림 때문이었습니다. 이분은 계산기에서 계속 연이어 계산할 때에는 반올림하지 않았다가,
메모했다가 계사하는 값은 2째 자리에서 반올림해서 입력했기 때문이죠.

이런 똘I를 이해 시키는 것도 쉽지 않고 귀찮아서 round()로 도배한 적이 있었죠. ^^
호세아 | 2007/09/27 18:26 | PERMALINK | EDIT/DEL | REPLY
ㅋㅋㅋ 늘 엑셀의 귀재라고 으시대는 직원이 있었습니다.
그래서 그 직원을 불러서, 시트에 850*77.0 850*77.2의 결과를 보여준다음
850*77.1을 쳐서 답을 보여주었습니다. 그리고 짐짓 물었죠..." 이거 왜 이렇게 나오는거냐?"
그 직원 전전긍긍...셀서식 살펴보는등 부산을 떨다가...포기하더라구요..
그래서 그랬죠...앞으로 귀재니 모니 그러지마...

제가 못된건가요...재미있었습니다.
BlogIcon jwmx | 2007/09/27 18:54 | PERMALINK | EDIT/DEL
하하...그 직원분 매우 당황하셨겠는데요.
나중에 버그라는 것을 아시게되면 매우 허무하시겠어요....ㅋㅋ
4천만 | 2007/09/27 20:08 | PERMALINK | EDIT/DEL | REPLY
갑자기 뜽금맞은 질문입니다.
컴퓨터에서 파이값이나 루트 2 같이 무한 반복되는 값들은 어떻게 계산하지 하는 궁금합니다.
분명 누구라도 파이값과 루트 2를 선으로 그어서 표시 할수 있습니다.
그런데 컴퓨터는 어떻게 인식하나요? 오차는 어떻게 보정하나요?
예전에 읽은 sf소설 생각이 납니다. 컴퓨터의 도저히 인간의 능력으로 검증하고 인지할수 없을 정도의 작은수의 오차나 아주 큰수의 오차로 결국 문명이 말살한다는..
BlogIcon jwmx | 2007/09/28 06:23 | PERMALINK | EDIT/DEL
저도 자세한 방법은 모릅니다만, 적용하는 분야의 요구되는 정밀도에 따라 자릿수를 결정하고 보정하는 것으로 알고 있습니다.
즉, 무시해도 되는 자릿수를 결정하는 것인데, 잘못 결정하면, 작은 사고나 소설에서 처럼 큰 재앙이
발생할 수 있겠죠.
두운초온 | 2007/09/27 21:42 | PERMALINK | EDIT/DEL | REPLY
ju2fafa님의 말씀이 맞습니다.
850*77.1과 850*77.1+1에서만 버그가 발생하는 것이 아니고
=5.1*12850
=10.2*6425
=20.4*3212.5
=40.8*1606.25
=77.1*850
=154.2*425
=212.5*308.4
=308.4*212.5
=425*154.2
..etc에서도 버그가 발생하므로
앞으로 중요한 두 수를 곱하는 계산은 노가다를 해서라도 +0.999999999 -1.000000000해서 이 버그를 막아야 할 것 같습니다.
(버그패치가 나올 때까지)
예)
5.1*12850=100,000 (버그)
5.1*12850+0.999999999-1=65,535 (버그가 사라졌음)
BlogIcon jwmx | 2007/09/28 06:25 | PERMALINK | EDIT/DEL
엑셀의 신뢰를 떨어 뜨리지 않게 하기 위해서라도 패치가 빨리 나와야 겠군요.
지금 엑셀 개발자가 컴퓨터 앞에서 고생하고 있을지 모르겠습니다. ^^
에궁 | 2007/09/27 22:52 | PERMALINK | EDIT/DEL | REPLY
오늘 주제와는 별개의 이야기 입니다만, 프로그램을 하다 보면 javascript에서 alert("a";) 이런식으로 1 byte짜리 메시지를 띄우면 JW Browser에서 결과가 안나타나요. 다시 말하면 마지막 1 byte는 짤리는데 내 PC문젠가요 아니면 환경 설정 문제인가요?
BlogIcon jwmx | 2007/09/28 06:26 | PERMALINK | EDIT/DEL
아, 그렇습니까. jwBrowser 문제가 같은데, 확인해 보겠습니다.
aperire | 2007/09/28 00:48 | PERMALINK | EDIT/DEL | REPLY
전 저희 회사 기획자들 보면서 늘 놀랩니다.
어떻게 그림판과 엑셀만 가지고 포삽같은 결과값을 출력하는지;;;
난 계산만 했는데;; ㅋㅋ
BlogIcon jwmx | 2007/09/28 06:27 | PERMALINK | EDIT/DEL
엑셀을 잘 사용하시는 뵈면 "어떻게?"라는 생각이 절로 나죠. ^^
jinisopen | 2007/09/28 03:41 | PERMALINK | EDIT/DEL | REPLY
비지칼크 아직도 현용으로 돌아가는 넘이죠..
정확히 말하면 PDA에서 돌아가긴 하지만..ㅋㅋ
BlogIcon jwmx | 2007/09/28 06:27 | PERMALINK | EDIT/DEL
아, 아직 사용되는 군요. 대단합니다. ^^
좋은날 | 2008/05/20 17:45 | PERMALINK | EDIT/DEL | REPLY
오호호홋 원숭이도 나무에서 떨어질때가 있군요...
수많은 사람들이 사용을 하니 버그도 발견되고.. 좋네요 머 ^^
산날막 | 2008/06/28 12:03 | PERMALINK | EDIT/DEL | REPLY
저는 2007 쓰는데 저런 버그는 없네요 ^^:
제꺼만 이상이 없는건가요??? ㅎ
Name
Password
Homepage Secret

오늘은 하루가 피곤했습니다. 귀가도 늦었구요. 피곤하고 퇴근도 늦었지만 그냥 푸념하듯이 블로그에 글을 올립니다. ^^; 에피소드 1 예전에는 에스컬레이터를 탈 때면 두 줄로 탔.....

자녀 휴대폰 사용 교육 10계명

집사람이 가입한 보험회사에 주기적으로 작은 책자를 보내 줍니다. 몇 페이지 안 되는 작은 소책자입니다만 읽을 거리가 많아서 아내가 애독하는데 저에게 들고 왔습니다. 그리고 보여.....

다른 윈도우 크기를 자유롭게 - Sizer

작업 중인 윈도우 크기를 특정 사이즈로 맞추고 싶을 때가 혹 있지 않나요? 예를 들어 도움말을 작성하거나 블로그에 올리기 위해 특정 크기에 맞춘 후 복사한다면 작업이 수월할 것.....

노트북 먼지 제거

언제부터인가 노트북이 많이 뜨거워 져서, 무릎 위에 올려 놓고 사용하면 괴로울 정도가 되었습니다. 뜨거워진 만큼 시스템도 느려져서 결국 A/S센터를 찾아 가게 되었습니다. 잠.....

좋은 말씀 감사드립니다. 감사하게도 많은 분이 글을 올려 주셨습니다만 감히 댓글을 올리지 못했습니다. 제 말씀이 오히려 오해를 살 것 같아서요. 진심으로 말씀 드립니다만, 특정.....

하늘을 나는 해파리 로봇 우아한 모습으로 하늘을 나는 모습이 마치 해파리 같습니다. 실내에서 촬영한 것으로 보이는데 바람이 부는 밖에서는 제대로 비행을 할지 모르겠네요. 하지만.....

금연에 대한 글에 많은 분이 관심을 가져주셨습니다. 금연에 대한 말씀을 드린 만큼 저의 금연 방법을 소개하려 합니다. 그러나 이 방법은 저의 금연 방법일 뿐 금연에 성공하는 기.....

의정부북부에 일이 있어서 잠시 들렀습니다. 일을 마치고 돌아 오기 위해 전철을 타야 했는데 의정부북부역, 지금은 가능역으로 바뀌었죠. 가능역에서는 차편이 많지 않기 때문에 의정.....

이전 "컴퓨터 본전 뽑는 프로그램" 글에 엑셀에 대해 간단히 소개했습니다만 예제 계산이 단순해서 조금 다른 예로 동영상을 작성해 보았습니다. 엑셀을 아직 모르시는 분게 엑셀의.....

블로그 구독 한RSS에 추가 마가린 북마크 등록 Tistory tattertools 
믹시 

TISTORY 2007 우수블로그
BLOG Total 3,874,893 Visitors Today 5,394 Hit, Yesterday 5,497 Hit