소프트웨어 엑셀 계산버그를 있는대로 알려주시면 감사하겠습니다.
2011.01.16 15:56
제가 다른 프로그램에서 값을 엑셀에 받아와서 계산중인데요,
정말 기막힌 계산버그 때문에 난감한 상황에 봉착했습니다.
제가 찾아낸 버그는
=if((1.38-1.37)=0.01."참","거짓")
에서 답이 "거짓"이 나온다는 겁니다. ㅡ.ㅡ
엑셀2003, 엑셀2007 둘다 그러네요.
비슷하지만 다른계산인
=if((1.37-1.36)=0.01."참","거짓")
이건 "참"이 나옵니다.
65535 문제같으면 그냥 경계값 문제려니하고, 그 구간값에서 좀 더 주의를 기울이겠는데,
저런 문제는 정말 '우연'이 아니면 도저히 찾을수가 없습니다.
0.01 차이로도 확 달라지는 계산중이라서 결과값이 처음에는 맞다가 뒤에가서 확 틀어져서 이상하다 싶어 겨우 알아낸겁니다. ㅠㅠ
덕분에 특정 값구간이 완전 불일치가 되어서 어떻게 해야할지 모르겠네요.
이게 엑셀의 문제인건지, CPU 연산오류 문제인건지도 모르겠습니다.
이거 보시는 분은 확인 부탁드립니다.
2010에서도 문제가 없는지 확인 부탁드립니다.
그리고 이 문제들에 대해 잘 아시는 분 계시면
해결법을 알려주시거나 해결법이 없으면 적어도 문제를 일으키는 특정값들을 정리해놓은 곳을 알려주시면 감사하겠습니다.
댓글 [2]
-
스퀴니 2011.01.16 16:32
오피스 2010 결과입니다.
-
메리아 2011.01.16 17:24
역시 그렇군요. ㅠㅠ
제가 질문글 올리고 여기저기 찾아보며 내린결론은
1. 저런 타입의 문제는 기본적인 변수형식의 한계 때문에 발생한다.
2. 엑셀에서는(어쩌면 엑셀외의 프로그램이라도) 소수점 아래 연산시 저런 트러블이 발생할 가능성이 다분하다.
3. 최대한 소수점 아래 연산결과를 부등호 비교는 하지말고, 필요하면 유효숫자 이내를 정수 배수화 시켜 반올림해서 비교할 것.
ex. =IF(1.38-1.37=0.01,TRUE,FALSE)
방법1 -> =IF(1.38*100-1.37*100=1,TRUE,FALSE)
방법2 -> =IF(ROUND((1.38-1.37)*100,0)=1,TRUE,FALSE)
대강 이정도네요.
모든 트러블이 전부 소수점 아래 비교연산에서 발생했고,
심지어 2007의 경우 850*77.1 같은 연산조차 기본 바운더리 버그가 발생해 65535가 아닌 100000로 표시되는 버그마저 있네요.
이렇게 기본적인 연산마저 믿을수가 없으니 참 갑갑합니다. ㅠㅠ
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
19491 | 윈 도 우| win7 토큰 최적화 후에(x64 엔터버전) [4] | 갈밭 | 3613 | 01-20 |
19490 | 소프트웨어| 테크넷 프로모션 코드는 [1] | 청년취업 | 4137 | 01-20 |
19489 | 윈 도 우| 정품인증 오류 [4] | Processor | 3118 | 01-20 |
19488 | 소프트웨어| SuperCache 4.0 기능 | 고독남 | 2744 | 01-20 |
19487 | 소프트웨어| 엑셀2010 표작성... [6] | 내복입자 | 2348 | 01-20 |
19486 | 윈 도 우| SP1 설치후 | Clown_P | 2220 | 01-20 |
19485 | 윈 도 우| (수정)sp1 설치후 백업파일 삭제시 오류문제인데요 | 오늘하루도 | 1621 | 01-20 |
19484 | 하드웨어| 파티션별로 어떤하드로 잡혀있는지 알수있을까요??? [2] | 야구채널 | 1515 | 01-20 |
19483 | 소프트웨어| Avira Antivir 백신 한글버전 질문 입니다. [4] | 우주선 | 3001 | 01-20 |
19482 | 하드웨어| 내장사운드때문에 외장사운드카드가 읽히지않습니다 [6] | WF익명 | 6468 | 01-20 |
19481 | 소프트웨어| 번역 프로그램 어떤게 좋은가요? [5] | 나비 | 2328 | 01-19 |
19480 | 소프트웨어| 바탕화면 2분할 할수 없나요??? [3] | 터봉 | 4375 | 01-19 |
19479 | 하드웨어| PCI Power Management 1.2 규격 및 PCI 2.2 규격 지원 메인... | 난쟁이똥자 | 1627 | 01-19 |
19478 | 윈 도 우| 윈도우 얼티메이트에서 KMS 최적화 질문입니다 [1] | 공피 | 7047 | 01-19 |
19477 | 윈 도 우| 주기적 인터넷 연결불가. 이넘이 원인인데 자세히 설명좀 ... | MURU | 2066 | 01-19 |
19476 | 윈 도 우| 배치 파일 작성 고수님 도와주세요. | 타미Full루 | 1884 | 01-19 |
19475 | 윈 도 우| CLVD Pack 질문드립니다 | 무영 | 1799 | 01-19 |
19474 | 윈 도 우| 인증 오류..급합니다. [1] | Processor | 2129 | 01-19 |
19473 | 윈 도 우| SP1 설치 후 Alcohol 120% 설치 방법문의 | 만두장사 | 1749 | 01-19 |
19472 | 윈 도 우| 인터넷에있는 파일 클릭시 2개가 동시에 뜨는 이유는??? [6] | 이병찬 | 1378 | 01-19 |