엑셀

엑셀 특정문자 포함한 값 찾기 함수 search, isnumber, if 함수

실행의 힘 2022. 7. 2. 17:00
반응형

안녕하세요. 오늘은 특정문자가 포함된 문자를 찾는 방법에 대해 알려드리려 합니다. 

 

와일드카드 문자라고 해서 *,~,?가 있지만 if를 포함하여 이 와일드카드가 통하지 않는 함수가 몇몇이 있죠.

그래서 와일드카드를 사용하지 않고도 특정문자가 포함된 문자를 찾을 수 있도록 함수를 써 보겠습니다.

 

아래 3가지 함수만 알면 특정문자가 포함된 문자를 찾고 변환하는 것까지 할 수 있으니 참고하시기 바랍니다.

 

1. search 함수

=search(찾을 문자, 찾을 문자가 있는 셀)

 

 

위의 엑셀을 보면 용도에 단기차입금이 단기차입금(부모님), 단기차입금(물품)으로 서로 다릅니다. 

 

지금은 2개 밖에없어서 단기차입금으로 통일하고 sumif를 사용할 때 조건에 단기차입금을 조건으로하여 사용해도 되지만, 이런 경우가 여러개라면 다 고치기 힘들겠죠.

 

그래서 단기차입금(~~)을 단기차입금으로 함수를 통해 바꾸어주고 조건을 맞춰줘보겠습니다.

 

즉 특정문자가 들어간 셀을 찾는 방법이라고도 할 수 있는데요. 단기차입금이라는 문자를 찾는 과정인 셈이죠.이럴 땐 search함수를 사용해줍니다.

 

=search 함수의 인수는 찾을 문자, 어디서 찾는가로 이루어져있습니다. 뒤의 start_num은 무시하셔도 됩니다.

 

=search(찾을 문자, 어디서 찾을 것인가

 

우리는 '단기차입금'이라는 문자를 찾을 것이고, 어디서는 '용도가 있는 셀에서' 이죠.

 

적용을 시키면 이렇게 될 수 있겠네요.

 

 

이렇게 하고 엔터를 치면 1이라는 숫자를 반환하고, 아래로 쭉 드래그를 해보겠습니다.

 

 

차이가 보이시죠? 단기차입금이라고 입력된 셀에는 숫자를, 단기차입금이라는 문자가 없는 곳에는 오류값을 반환합니다.

search함수는 찾으려는 문자가 그 셀안에서 몇 번째 있는지를 숫자로 반환하는 함수입니다. 

지금 단기차입금(~~)는 단기차입금이라는 문자가 1번째에 있으므로 1을 반환한 것이죠. 

 

만약 (물품)단기차입금이라면 search 함수를 사용했을 때 5라는 숫자를 반환할 겁니다. 

(,물,품,),단기차입금 이렇게 하나씩 인식해 단기차입금이 있는 곳은 5번째 이기 때문입니다.

 

2. isnumber 함수

=isnumber(값이 있는 셀)

 

그리고 여기서 isnumber라는 함수로 true, false를 나타내 봅시다. 

 

isnumber는 숫자면 true, 아니면 false를 반환하는 함수입니다.

 

 

3. if 함수

=if(논리식, "참일 경우 반환할 값","거짓일 경우 반환할 값")

 

그런 다음 if를 통해 true일 경우 단기차입금이라고 반환하고, 아닐 경우 공란으로 반환해줍니다. 

 

 

그럼 이런식으로 단기차입금(~~)를 단기차입금이라고 문자를 통일할 수가 있겠네요.

 

 

이렇게 해주면 와일드카드를 사용하지 않고도 특정문자를 포함하는 문자를 찾고, 원하는 형태의 문자로 값을 반환할 수 있습니다. 

 

감사합니다.

 

728x90
반응형