[엑셀활용]Find함수로 IndexOf 기능을 써보자.

반응형
반응형

 

엑셀Find함수로 IndexOf

 

안녕하세요. 판다 J입니다.

 

제가 사실 Java 개발자인데요. 예상보다 업무 하다가 엑셀을 많이 사용하게 됩니다. 하지만 보통 엑셀은 저 같은 개발자보다 현업 업무를 하시는 분들이 훨씬 더 잘 사용하시더군요. 엑셀은 잘 다룬다는 것은 여러 모로 참 유용합니다. 저는 솔직히 엑셀을 잘 못 다루는 편이라 막히는 부분이 생기면 도움말도 보고 구글링도 해서 찾아보고 주변의 도움도 많이 받는데요. 보통 저 같은 경우 엑셀을 사용하다가 쓰고 싶은 기능이 있으면 Java 함수나 SQL 함수를 먼저 떠올리게 됩니다.

그러고는  "혹시 엑셀에도 비슷한 용도로 사용하는 함수가 있지 않을까?"  하고 생각해 보고 검색해보곤 합니다. 하지만 제가 잘 못찾아서 그런지 생각처럼 프로그램 언어 또는 SQL함수와 매칭 시켜서 소개된 글을 찾아보기 쉽지는 않더군요.

오늘은  업무상 엑셀을 사용하다 보니 Java의 IndexOf 기능을 썼으면 좋겠는데 하는 경우가 생겼는데  생각이 나지 않아서 찾아보게 되었습니다. 그래서 찾아낸 비슷한 기능의 엑셀 함수 Find를 소개할까 합니다.


" java 의 IndexOf와 유사 한 기능의 엑셀 함수  Find "

먼저,  Java에서 "대상문자열".IndexOf("검색문자")  이렇게 하면 대상 문자열에 검색 문자가 없으면 -1을 리턴하고 대상 문자열에 있으면 그 첫 번째 위치를 리턴합니다. 

예를 들어,   "ABCDE".IndexOf("C") 는 2를 리턴하죠.

엑셀에서 FIND함수는 아래와 같이 사용합니다. 단, IndexOf는 맨 처음 위치가 0 인 반면 엑셀에서는 1입니다.

 

엑셀Find함수로 IndexOf
find함수 사용예시

 

이번에는 문자열에 "한국"이라는 단어가 들어 있는지 여부를 확인하고자 합니다.

java에서 IndexOf는 없으면 0을 리턴하는 것과 달리 엑셀에서는 Null이라는 의미의 에러가 나는군요. 

 

엑셀Find함수로 IndexOf
검색할 문자가 없으면 에러가 난다.

 

=IF(ISERROR(FIND("한국",A2,1)),0,FIND("한국",A2,1)-1)  와 같이 사용해 보았습니다.

ISERROR() 은 안의 결과가 #VALUE! 등의 에러일 경우 TRUE를 리턴합니다. SQL 함수의 NVL() 을 연상하게 됩니다.

IF( 조건, A, B) 조건이 TRUE일 경우 A를 FALSE 일 경우 B를 리턴합니다.

따라서, 검색하는 문자열이 없을 경우 0을 있을 경우 결과에 -1을 해서  IndexOf 와 같은 결과을 출력하게 사용해 보았습니다. 

 

엑셀Find함수로 IndexOf
예시

 

처음으로 엑셀 활용에 관한 글을 적어 보았는데. 그냥 보통 글을 적는 것보다 설명하기가 훨씬 어렵군요.

앞으로 종종 좋은 기능이 있으면 좀 더 쉽고 간단하게 소개하도록 하겠습니다.

 

2020/05/15 - [유용한정보/IT&블로그] - [엑셀활용]셀 수식 사용시 셀 고정하여 사용하기. 절대경로, 상수처럼

2020/06/26 - [유용한정보/IT&블로그] - [엑셀활용]엑셀에서 조건문, 논리연산자 IF, OR, AND, ELSE

 

 

 

반응형

댓글

Designed by JB FACTORY