아래와 같이 정수와 소수가 함께 존재할 때 정수인지 여부를 판단하려면 소수점이하 숫자가 있는지 판단 해야 합니다.
1. Int 함수를 이용하는 방법
Int함수는 Integer의 약자로 정수로 변환해 주는 함수입니다.
다시 말해 소수점이하 숫자를 없애줍니다.
Round함수와 달리 인수로 소수점이하 자릿수를 없애주는 0을 입력할 필요 없이
=int(a1)이라고 입력한 다음 B1셀의 채우기 핸들을 더블 클릭하면 B14셀까지 수식이 복사됩니다.
홈 탭 자릿수 늘임 아이콘(명령)을 눌러도
소수점이하 숫자가 없습니다.
이제 A1에서 B1을 빼면 정수를 제외한 소수점이하 부분만 표시됩니다.
정수인 경우는 숫자가 같으므로 0이 반환됩니다.
따라서, 값이 0이면 정수, 아니면 소수라고 표시할 수 있습니다.
=IF(A1-INT(A1)=0,"정수","소수")
2. Mod 함수를 이용하는 방법
Mod함수는 나머지 값을 반환해 주는 함수로 피제수와 제수를 인수로 합니다.
정수인지 여부를 판단할 때 중요한 것은 제수를 1로 해야 한다는 점입니다.
왜냐하면 1로 나누면 정수 부분은 없어지고 소수점이하 숫자만 나머지로 남기 때문입니다.
E1셀에 =mod(a1,1)이라고 입력하고 채우기 핸들을 더블 클릭해서 E14셀까지 수식을 채웁니다.
그러면 정수인 경우는 0, 아니면 소수점이하 숫자만 표시됩니다.
따라서, 정수인지 여부를 판단하려면
=if(mod(a1,1)=0,"정수","소수")라고 하면 됩니다.
확장해서 원 단위 이하를 구하려면 10으로 나누면 되고, 소수점 둘째 자리이하를 구하려면 0.1로 나누면 됩니다.
그런데 자세히 살펴보니 원 단위 이하를 구하는 것은 정수를 포함해서 문제가 없는데,
소수점이하 둘째 자리이하를 구하는 것은 소수는 문제가 없는데 정수는 제수 반환되는 문제점이 있습니다.
따라서, 0.1로 나눌 때는
=if(mod(a1,1)=0,0,mod(a1,0.1)로 수정해야 합니다.
'Excel' 카테고리의 다른 글
선입선출 재고금액 구하기(Let, Scan 함수 등 활용) (2) | 2024.02.15 |
---|---|
떨어진 값을 곱한 후 합계 구하기 (4) | 2024.02.08 |
리본 메뉴에 매크로 명령 추가하기 (1) | 2024.01.19 |
일정한 조건에 해당하는 합계 구하기 (0) | 2024.01.18 |
여러 개중 원하는 위치의 문자 찾기 (0) | 2024.01.17 |