다음을 통해 공유

엑셀 소수점 계산에 의한 결과 값 순위 문제

익명
2019-07-21T01:45:38+00:00

엑셀2016에서 작업해봤습니다. 이하 버전에서는 마찬가지였습니다.

A B C<br><br><br>(A+B) D(rank.avg) E<br><br><br>(rank.eq) F<br><br><br>(rank)
1 17.38 78.52 95.9 3 3 3
2 18.1 77.8 95.9 1.5 1 1
3 95.9 1.5 1 1

같은 95.9인데 1행에 있는 내용이 아래 순위로 계산됩니다.

A B C<br><br><br>(A+B) D<br><br><br>(rank.avg) E<br><br><br>(rank.eq) F<br><br><br>(rank)
1 17.29 78.91 96.2 2.5 2 2
2 18.1 78.1 96.2 2.5 2 2
3 96.2 1 1 1

같은 96.2인데 그냥 입력한 96.2보다 작다고 순위계산이 됩니다.

처음에는 자릿수나 유효숫자 문제이겠거니 했는데 이상합니다.

부동소숫점때문인거 같기는한데

해결방법이 없을까요? 현재 단순히 10의 거듭제곱수를 곱해 다시 나누는 방식으로 작업하고 있기는합니다.

Microsoft 365 및 Office | Excel | 가정용 | Windows

잠긴 질문. 이 질문은 Microsoft 지원 커뮤니티에서 마이그레이션되었습니다. 질문이 도움이 되었는지 여부에 대해 응답할 수는 있지만, 메모나 회신을 추가하거나 질문을 따를 수는 없습니다.

댓글 0개 설명 없음

답변 2개

정렬 기준: 가장 유용함
  1. 익명
    2019-07-24T20:26:26+00:00

    답변이 많이 지연되어 대단히 죄송합니다.

    우선, 질문자 분께서 예상하신 원인인 '부동소수점'의 영향으로 인한 결과가 맞습니다.

    직접 테스트를 진행하여 검증하였고, 원인에 대한 공식 문서는 다음과 같습니다.

    Excel의 부동 소수점 연산에서 부정확한 결과가 나올 수 있음

    해결책은 다음의 공식 문서 내용과 같이 반올림 정밀도 설정을 하거나 첫 번째 표의 C1, C2 셀의 연산을 각각, 다음과 같이 ROUND 함수를 사용하면 원하시는 결과를 얻으실 수 있겠습니다.

    C1 = ROUND(A1+B1,1)

    C2 = ROUND(A2+B2,1)

    반올림 정밀도 설정

    감사합니다.

    이 대답이 도움이 되었나요?

    1명이 이 답변이 도움이 된다고 생각했습니다.
    댓글 0개 설명 없음
  2. 익명
    2019-07-21T02:04:49+00:00

    안녕하세요, 독립 관리자 민경천입니다.

    문의 주신 내용에 대한 답변을 준비하기 위해 추가적인 정보 확인, 자료 수집 및 테스트 등의 작업이 필요합니다. 이에 바로 답변 드리지 못하는 점 양해 부탁 드리며 최대한 빠른 시간 내에 준비 작업을 마치고, 도움 드릴 수 있도록 하겠습니다.
    (질문 주신 시점을 기준으로 최대한 24시간 이내에 추가 확인 요청 또는 답변을 드리고자 노력하고 있습니다.)

    감사합니다.

    이 대답이 도움이 되었나요?

    댓글 0개 설명 없음