본문 바로가기
엑셀/함수

엑셀 조건문 텍스트 숫자 인식 문제점 및 해결책

by 큐브빌드 2021. 3. 25.
반응형

엑셀을 사용하다 보면 조건문을 많이 사용하게 됩니다.

 

특히 숫자에게 사용되는 조건문들이 있습니다.

 

크다 (>) , 작다 (<) , 이상 (>=) , 이하(<=)

 

위 조건들은 치명적인 문제가 있습니다.

 

그것은 바로 제목과 마찬가지로 텍스트를 숫자로 인식합니다.

 

물론 숫자만 존재하는 시트에만 적용하면 되지만 값들이 많을 때에는 영역으로 설정하는 게 편리하기 때문에 텍스트가 없는 부분만 설정하기 어렵습니다.

 

예를 하나 들어보겠습니다.

 

엄청 단순하게 예를 들었습니다.

 

물론 이 정도 데이터에는 절대!! 실수할 일 없습니다.

 

하지만 데이터가 많을 때에는 이야기가 다르죠

 

if 문으로 3보다 크다면 크다고 표시를 하려고 했는데 가나다 , abc , 123 모두 3보다 크다고 나타납니다.

 

이게 단연코 if 만의 문제가 아닙니다.

 

사실 데이터가 많다면 더 자주 사용되는 조건부 서식에서도 문제가 발생합니다.

 

3보다 크면 배경색을 주황색으로 색칠하는 조건부 서식을 넣는다면?

 

역시 결과는 동일합니다.

 

그래서 해당 부분을 해결하기 위해서 간단하게 떠올렸던 방법입니다.

 

and , isnumber 함수를 사용

and는 흔히 알고 있는 and의 의미입니다.

 

함수 내용 그대로 설명하자면

  • isnumber(a1) : a1이 숫자이면 true 값을 돌려줍니다.
  • a1 > 3 : a1 이 3보다 크다면 true 값을 돌려줍니다.
  • and(isnumber(a1) , a1>3) : isnumber(a1) = true이고 a1 > 3 도 true 이면 true로 돌려줍니다. (2개 동시에 만족)

그렇기 때문에 이번에는 123만 크다라고 표시가 됩니다.

가나다와 abc는 isnumber(a1) = false 이기 때문입니다.

 

그러면 조건부 서식에서는 어떻게 사용할까요?

 

if 문과 동일하게 작성하시면 됩니다.

 

단 , 조건부 서식에 주소는 절대 주소가 들어가면 안 됩니다. → 다른 위치에 적용할 수 없습니다.

 

그리고 현재 선택되어 있는 셀을 주소로 입력해야 합니다. → 만약 수식에 입력되는 주소와 선택되어 있는 주소가 다르면 엉뚱한 위치에 조건부 서식이 적용됩니다.

 

서식을 적용 한 뒤 이번에는 규칙 관리에 들어가서 적용대상을 확대합니다.

 

그러고 적용하면 원하는 숫자만 적용되게 됩니다.

 

 


그리고 영어가 한글보다 큽니다^^;;

 

이건 VBA에서 사용할 때 생각보다 유용한 정보입니다^^;

반응형

댓글