<=
Excel 에서 논리 연산자 를 사용하여 수동으로 입력 한 숫자 used data
와 계산 된 값 total with roll-over
을 비교하여 해당 값을 생성합니다 overage
. 다음은 데이터의 스크린 샷입니다 (이 데이터의 잘라내어 붙여 넣기 가능한 버전은 하단에 있습니다).
total with roll-over
E2 셀 의 공식 은 다음과 같습니다.
=D2+IFERROR(IF(D1-F1>0,D1-F1,0),0)
이 공식은 roll-over
열 아래로 복사되었습니다 . overage
G2 셀 의 공식 은 다음과 같습니다.
=IF((E2-F2)<=0,"all data used","")
overage
열 아래로 복사되었습니다 .
예상치 못한 동작은 셀 G11에서 발생하며 all data used
, 셀 G13과 유사하게 8.69-8.69 = 0이기 때문에 반환 될 것으로 예상됩니다 . 내가 도대체 뭘 잘못하고있는 겁니까? 감사.
부동 소수점 오류에 대한 추가 데이터 원래 질문을 게시하기 전에 표시되는 소수점 수를 늘리고 과학적 표기법을 사용하여 부동 소수점 오류를 확인하려고했습니다 (스크린 샷 참조). 부동 소수점 오류를 감지하지 못했지만 I like Excel very much
의 솔루션으로 문제가 해결되었으므로 부동 소수점 오류가 근본적인 원인이어야합니다. 이러한 유형의 오류를 확인하는 새로운 방법을 찾아야합니다.
붙여 넣을 수있는 데이터 :
new data total with roll-over used data overage
jan 8 8.00 3.79
feb 8 12.21 5.38
mar 8 10.62 5.45
apr 8 10.55 0.07
may 8 15.93 0.00
jun 8 16.00 5.13
jul 8 10.87 5.63
aug 8 10.37 8.28
sep 8 8.00 7.31
oct 8 8.69 8.69
축하합니다. 부동 소수점 오류를 발견했습니다.
엑셀은 평가하고있다 8.69 - 8.69
으로 1.7763568390025E-15
. 그 주위의 방법은 얼마나 많은 소수점을 선택하고 반올림하는 것입니다.
이 예에서 10 자리 숫자는 충분해야합니다. 다음 공식을 사용하세요.
=IF(ROUND(E11-F11,10)<=0,"all data used","")
소수점 10 자리 이후의 모든 것을 반올림하고 오류를 방지합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다