엑셀 조건부 서식에서 소수점이 없는 수(정수) 구분하기, 함수 IF, TRUNC, LEN 이용

 

환경: Microsoft Excel 2013

 

샘플 데이터 영역에는 소수점이 있는 실수와 정수가 섞여 있습니다. 여기에서 정수를 걸러내 보겠습니다. 정수가 있는 셀에는 배경색을 변경할 것입니다. 조건부 서식을 이용하면 조건이 맞을 때 셀에 서식을 변경할 수 있습니다. 조건부 서식에는 부등호를 사용해서 조건에 맞는 셀이 있을 때 원하는 서식을 지정하는 것뿐만 아니라 복잡한 경우도 수식을 짜서 다양한 경우에 적용할 수 있습니다. 샘플은 IF, TRUNC, LEN 함수를 이용해서 원하는 결과를 이끌어 냈습니다.

 

엑셀 IF, TRUNC, LEN 함수, 조건부 서식 소수점이 없는 수(정수) 구분하기

 

제가 생각한 시나리오는 다음과 같습니다. 흔히 프로그램 작성할 때도 시나리오 작성 후 각 기능에 맞는 함수를 찾아 구현하곤 합니다. 엑셀도 구현 로직이 복잡하다면  어떤 식으로 구현할 것인지 작업 순서를 적는 것이 좋습니다. 

 

1.     정수를 분리한다. TRUNC(B2)

2.     원래 값에서 분리한 정수를 뺀다. B2-TRUNC(B2)

3.     구해 진 소수점 이하 값이 0 인지 판단한다.

4.     TRUE 이면 공백인지 체크한다. LEN(B2)

5.     공백이면 FALSE, 아니면 TRUE 를 리턴한다. IF(LEN(B2),TRUE,FALSE)

 

TRUNC 함수는 소수점을 절삭해서 정수만 구할 때 사용합니다. LEN 은 공백 여부를 판단합니다. 단점은 있습니다. 셀 안에 스페이스바로 한 칸 띄워져 있으면 공백으로 인식을 못하겠죠. 그래서 TRIM 을 사용하는데 복잡할 거 같아서 뺏습니다. 이렇게 완성된 수식은 다음과 같습니다. 

 

=IF(B2-TRUNC(B2)=0,IF(LEN(B2),TRUE,FALSE),FALSE)

 

위의 수식을 조건부 서식에 적용하기 전에 테스트해 보겠습니다. 위 수식에서 정수가 아니면 FALSE 를 리턴해야 합니다. 왜냐하면 조건부 서식에서 서식이 적용되는 조건은 TRUE 이기 때문입니다. 결과를 보니 제대로 된 것 같네요.

엑셀 IF, TRUNC, LEN 함수, 조건부 서식 소수점이 없는 수(정수) 구분하기

 

¤ 조건부 서식에 식 적용하기

 

이제 테스트한 수식을 조건부 서식에 적용해 보겠습니다. 규칙 적용을 위한 영역을 선택한 뒤 [] 탭 > [조건부 서식] 리본 메뉴로 가서 [새 규칙]  선택합니다.

엑셀 IF, TRUNC, LEN 함수, 조건부 서식 소수점이 없는 수(정수) 구분하기


[새 서식 규칙] 팝업창에서 유형 중 [수식을 사용하여 서식을 지정할 셀 결정] 을 선택합니다. 여기에는 수식으로 결과값을 TRUE 로 만들면 해당하는 셀 영역에 원하는 서식을 적용할 수 있습니다. 위에서 만든 수식을 "다음 수식이 참인 값의 서식 지정" 란에 입력합니다. 

엑셀 IF, TRUNC, LEN 함수, 조건부 서식 소수점이 없는 수(정수) 구분하기

 

수식을 넣고 아래에 있는 [서식] 버튼을 눌러서 셀 서식 대화상자를 띄웁니다. 그리고 원하는 서식 형태를 세팅합니다. 미리 보기에서 서식이 TRUE 일때 어떻게 변경되는지 확인할 수 있습니다.

엑셀 IF, TRUNC, LEN 함수, 조건부 서식 소수점이 없는 수(정수) 구분하기

 

팝업 창에서 적용을 눌러 창을 닫으면 소수점이 없는 셀 영역에 지정한 서식으로 변경됩니다. 공백도 제외가 되었습니다. 

엑셀 IF, TRUNC, LEN 함수, 조건부 서식 소수점이 없는 수(정수) 구분하기

 

Posted by 녹두장군