엑셀 (4) 유효성검사와 로직함수istext_isnumber 조합하여 숫자 또는 텍스트만 입력하게 하기

유효성검사가 필요한 경우

템플릿을 하나 만들어서 여러 동료나 팀원들에게 데이터 입력을 요청해야할 경우가 종종 있습니다. 자료를 입력하는 사람이 템플릿 만든 사람의 마음을 잘 헤아려, 원하는 유형의 데이터를 입력해주면 정말 정말 고마우련만…. 숫자만 입력해달라는 곳에 꼭 텍스트를 넣어서 보내는 사람이 있습니다. 그러면 아예 제가 처음 부터 작업하는 것보다… 중간 중간 추가 작업을 해야 하므로 더 골치 아플 수 도 있어요.  

바로 그러한 일을 방지하기 위해, 엑셀로 만든 템플릿에 데이터 입력 시 여러 제한을 둘 수 있는 기능이 있습니다. 바로 데이터 유효성 검사 기능입니다.

데이터 유효성검사 불러오기

메뉴 바에서 데이터 –> 데이터 도구 –> 데이터 유효성 검사 순으로 선택하시면 아래와 같이 데이터 유효성 창이 뜹니다.

유효성검사

로직 함수와 조합

다만 해보시면 알겠지만, 기본 세팅되어 있는 메뉴 (예를 들어 정수)를 고르면 범위등을 지정할 수만 있지, 텍스트/ 숫자만 입력하게 하는 기능은 기본적으로 없습니다.

이럴 때는 사용자 지정을 선택해 함수와 응용하는 지혜가 필요하게 되는데요, 일단 제가 위에 말한 예시 (숫자만 입력하게 하는 것) 에서 필요한 게 로직 함수들 중 하나인 istext, isnumber 입니다.  

먼저 아래와 같이 간단한 테이블이 있다고 합시다. 다른 사람들이 C 열 (Project) 에 텍스트만 입력하게 하려면, 아까 보신 것처럼 데이터 유효성 메뉴에서 사용자 지정을 선택한 후… 수식 칸에 다음과 같은 함수를 입력해 주시면 됩니다.

=istext(c3)

다른 사람들이 이 템플릿을 보면서 C3:C8 범위를 마우스 커서로 지나갈 때 입력할 데이터에 대한 설명 메시지나 요구한 데이터와 다른 형식의 데이터를 넣을 때 오류 메시지를 보게 하고 싶다면 다음과 같이  설명 메시지탭과 오류 메시지 탭을 선택해 쓰고 싶은 말을 쓰시면 됩니다.

참고로, 정말  원하는 값만 입력하게 하고 싶으면 오류 메시지 스타일을 “중지” 로 선택해야 합니다. “경고” 를 선택하면, 잘못된 값을 입력해도 경고 메시지만 받고 그냥 넘어갈 수 있거든요. (한 번 직접 해보고 결과도 확인해보시면 좋겠습니다.)

이제 다른 사람들이 D 열 (USD) 에 숫자만 입력하게 하려면 어떻게 해야 할까요? 이번에는 아래와 같이 데이터 유효성 창의 수식 칸에 isnumber를 입력해 주시면 됩니다.

=isnumber(c3) 

로직함수의 원리

기본적으로 로직 함수는 내가 요구하는 로직에 맞으면 Yes를 그 외에는 No 를 반환하는 함수라 이해하시면 됩니다. 예를 들어 Isnumber 함수는 인수로 지정된 셀의 값이 숫자인지를 물어보고 숫자면 Yes, 숫자가 아니면 No 라는 결과값을 갖게 됩니다. 따라서 D3 에 누군가가 텍스를 입력하면 Isnumber 함수를 통해 No 라는 결과값이 반환되고, 데이터 유효성 기능을 통해 해당 데이터의 입력이 제한되는 원리입니다.

잘 이해되셨나요?

그럼 다들 주말 동안 재충전하시고, 다음에 또 다른 팁으로 찾아뵐게요 😊

다른 쉽고 유용한 엑셀 팁들을 보고 싶으다면 아래 링크 클릭해주세요!

https://keepthefaith.co.kr/category/smart-workplace/excel/

Leave a Comment