본문 바로가기
구글 스프레드 시트

구글 스프레드시트 - 리스트에 내가 원하는 항목이 있는지 검색하기

by 기뮤네 2023. 8. 17.

 

네이버 지식인을 보다가 발견한 질문입니다.

 

원래 질문은 B2에 어떤 값을 넣은 경우, A열에 그 값이 있으면 그 값이 A열 최상위로 올라오게끔 정렬수정을 할 수 있냐는 질문이었던 것 같습니다.

 

COUNTIF 함수를 사용하고 있다고 하셨는데, 처음엔 응? 왜? 했는데 아마도 그 목적이 리스트 안에 해당 검색어가 포함되어 있는지를 확인하고자 하셨던 것 같습니다.

 

위의 그림과 같이 검색어를 입력 시, 해당 리스트의 순서를 수정할 수 있는 함수를 만들어 보겠습니다.

 

1. 리스트를 별도로 작성하기

 

오늘은 제가 애정해 마지 않은 QUERY 함수를 사용하려고합니다.

검색의 대상이 될 리스트를 사이드에 별도로 작성을 합니다. 리스트가 노출되는 것이 보기 불편하다면, 열 숨기기 처리 하면 됩니다.  (숨기기 원하는 열 드래그 후 마우스 오른쪽 클릭 - 열 숨기기)

 

2. 검색어에 해당하는 경우 가중치 부여

 

B2에 입력한 값이 리스트에 있는지 없는지를 확인하려면 리스트에 있는 값 중 B2에 입력한 검색어와 동일한 값이 있다면 숫자 '1'로 표시되게끔 합니다.

 

=if($B$2=F2,1,"")

 

검색어가 F2와 동일한 값일 경우 숫자 1, 아니면 빈칸

이 함수를 아래로 드래그 하는 경우 B2도 B3, B4로 함수가 변경되기 때문에 F4를 눌러 $를 추가해서 값을 고정해줍니다.

 

위의 그림을 보시면 B2에 포도가 입력된 경우, 리스트 재료에 있는 포도 옆에 1이 뜬 것을 볼 수 있습니다.

 

3. 가중치 있는 값을 최상위로 정렬하기

 

함수의 논리는 이렇습니다.

리스트 내용을 그대로 불러오되 검색어와 동일한 값이 최상위에 오게끔 정렬해라.

 

=query(B2:G,"select F where F<>'' order by G desc",0)

 

여기서 where F<>'' 이 항목을 설명하자면, 쿼리로 F열을 선택했기 때문에, 빈칸도 다 불러와버립니다.

그래서 F열 중에 빈칸이 아닌 셀들만 모아서 나열해달라는 함수입니다.

 

 

위와같이 함수를 적용하면, B2를 검색창으로 사용할 수 있습니다.

728x90

댓글