Excel

원하는 단어가 포함될 경우 행에 색칠하기

별동산 2024. 5. 27. 08:54
반응형

1. 문제

 

D열 주소에 

 

Sheet2의 단어가 포함되어 있으면 그 행 전체에 색칠을 하려고 합니다.

 

2. 실패

Sheet2의 단어가 주소에 포함되어 있을 경우이므로 CountIf를 생각할 수 있습니다.

 

먼저 A열에서 O열까지 선택하고,

홈 > 조건부 서식 - 새 규칙을 누른 후 '수식을 사용하여 서식을 지정할 셀 결정'을 클릭한 후

 

수식 입력란에 =COUNTIF(Sheet2!$A$1:$A$36,$d1)>0 이라고 입력하고,

 

아래쪽의 서식 버튼을 누른 다음, 채우기 탭을 누르고, 원하는 색을 선택한 다음 확인 버튼을 누릅니다.

 

그러면 원하는 색이 미리 보기에 표시되는데, 확인 버튼을 누릅니다.

 

그리고, 주소에 '대상빌딩'이라고 입력하면 A열부터 O열까지 초록색이 칠해지는데

 

'대상빌딩주식회사'라고 입력하면 완전히 일치하는 '대상빌딩'만 세기 때문에 0이 돼서 색이 칠해지지 않습니다.

 

 

3. 성공

그렇다면 주소에서 원하는 단어를 찾는

Find 함수를 이용해야 하는데,

Find  함수의 구문은

FIND(find_text, within_text, [start_num]) 이기 때문에

=find(d1,sheet2!a1:a36)이 돼야 하지만,

=FIND(D2,Sheet2!A1:A36)라고 해야 할 것 같지만

주소가 더 길기 때문에 앞뒤를 바꿔서

=find(sheet2!a1:a36, d1)이라고 해야 합니다.

 

P1셀에 =FIND(Sheet2!A1:A36,D2)라고 입력하면

(Microsoft 365 버전이 아니라면 Ctrl + Shift + Enter키를 눌러 배열 수식으로 입력해야 합니다.

Sheet2!A1:A36가 배열이기 때문에

일치하는 단어가 없으면 #Value!가 표시되고,

일치하는 단어 '대상빌딩'이 4행에 있기 때문에 D4셀에서 첫 번째 일치하는 위치 1을 표시합니다.

 

따라서, 수식 앞에 IsNumber를 붙여서

=ISNUMBER(FIND(Sheet2!A1:A36,D2))로 만들면

숫자면 True, 아니면 False를 반환하므로

 

홈 > 조건부 서식 > 규칙 관리를 누른 후

수식이 보이지 않으면 '서식 규칙 표시를 '현재 선택 영역'에서 '현재 워크시트'로 변경합니다.

그러면 수식이 보이는데, 아래와 같이 수식을 수정합니다.

=SUM(IF(ISNUMBER(FIND(Sheet2!$A$1:$A$36,$D1)),1))

그리고 확인 버튼을 누르고, 다시 확인 버튼을 누르면

 

대상빌딩이 포함된 경우라도 힌 즐이 녹색으로 맞게 표시됩니다.

 

D3셀에 대상이라고 입력하면 Sheet2에 대상이란 단어가 없기 때문에 색이 칠해지지 않고,

서울대상빌딩주식회사라고, 대상빌딩이 포함되면 색이 칠해집니다.

 

원하는 문자열 찾기(완성).xlsx
0.01MB

반응형