문제

이것은 일반 Excel 사용자가 아닌 프로그래밍 경험이있는 사람들을 대상으로하는 질문처럼 보이므로 Superuser가 아닌 여기서 질문합니다.

가급적 함수를 통해 엡실론을 반환하는 방법이 있습니까 (즉, Excel의 계산에서 나타낼 수있는 가장 작은 0이 아닌 숫자)?함수를 통해 검색 할 수없는 경우 압축 함수를 통해 빠르게 계산할 수있는 방법이 있나요?

명확하게 말하자면 VBA 기반 솔루션이 아니라 매크로 실행이 필요없는 Excel 수식 / 스프레드 시트 기반 솔루션을 원합니다.

온라인에서 검색 한 결과 주로 Epsilon 기호를 표시하는 방법에 대한 토론이 나타났습니다.

감사합니다.

도움이 되었습니까?

해결책

Excel은 항상 IEEE double에서 작동합니다.

0보다 큰 비정규 화되지 않은 가장 작은 부동 소수점 수를 얻을 수있는 비 VBA 식은 다음과 같습니다. 라코 디스

반면에 기계 입실론은 1에 더할 수있는 가장 작은 숫자로 1보다 큰 숫자가됩니다. 배정 밀도의 경우 다음과 같이 지정됩니다. 라코 디스

다른 팁

Microsoft는 XL에 대한 부동 소수점 숫자 정밀도 제한을 정의합니다.가장 작은 부동 소수점 숫자는 Microsoft 지원 문서 ID : 78113 에 2.2250738585072E-308로 표시됩니다.이 숫자를 스프레드 시트에 입력하면 실제로 부동 소수점 0이 저장되지만 2.2250738585073E-308을 저장하면 (최하위 숫자에 1을 추가했습니다) 모든 숫자를 볼 수 있습니다.나는 당신이 기계 엡실론을 요청한 것을 보았지만 XL을 사용하고 있기 때문에 실제로 보게 될 것은 C / C ++ 부동 소수점 라이브러리 엡실론입니다. Microsoft 개발자 네트워크 xlfRegister (양식 1) 항목 참조.

다음과 같은 VBA 서브 루틴을 작성할 수 있습니다. 라코 디스

하지만 내 컴퓨터에서는 2,22E-16을 제공하고, 셀에 =2^-113를 작성하고 9,62965E-35를 얻을 수 있기 때문에 이상합니다.

수정 : 라코 디스

확인 : -2,78E-17

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top