Excel – 문자열에 테이블 열에 값이 있는지 여부를 확인합니다. URL 목록을 가지고있다.

배경

Excel 2013을 사용하고 있습니다.

다음 SiteCategories과 같이 여러 개의 카테고리 열 이있는 Excel 테이블이 생성 된 다음 해당 열의 사이트가 있습니다.

여기에 이미지 설명을 입력하십시오.

그래서 우리는 다음과 같은 값을 사용할 수 있습니다. =SiteCategories[Category1]

나는 또한 URL 목록을 가지고있다. http://www.sitea.com/page/page.html

내가 뭘하고 싶은지

거대한 URL 목록의 경우 카테고리 A 또는 카테고리 B인지 여부를 말하면 옆에 열이 표시됩니다.

여기에 이미지 설명을 입력하십시오.

URL이 정규화되지 않았기 때문에 대 / 소문자를 구분하지 않아야합니다. 그러나 쉽게 처리 할 수 ​​있다면 필드를 처리하거나 랩핑 할 lower()수 있습니다.이 프로세스가 그렇게 할 수있을 것이라고 상상해보십시오.

내가 갇혀있는 곳

하나의 텍스트에서 성냥과 검색을 할 수는 있지만, 다양한 텍스트에서 그렇게하는 데 어려움을 겪고 있습니다.

본질적으로 내가 말하고자하는 것은 지정된 카테고리 열의 텍스트가 URL 내에서 발견되면 (대소 문자를 구분하지 않음) URL이 해당 카테고리에있는 것입니다.

그러나 대부분의 MATCHSEARCH함수는 값 범위를 쿼리하는 것을 쉽게 지원하지 않는 것으로 보입니다.

이 질문 의 반대를하고 싶은 것 같습니다. 그 솔루션은 여러 셀에서 한 단어를 찾기 위해 와일드 카드를 사용하는 반면 한 문자열에 대해 여러 셀 텍스트를 와일드 카드로 사용하고 그 중 하나라도 참이면 true를 반환합니다. 참된.

내가 지금 어떻게하고 있니?

현재, 내가 OR사용하고있는 SEARCH공식은 다음과 같은 수식을 사용 하는 구문입니다 ( F3URL이있는 셀은 어디에 위치 합니까? ).

=OR(ISNUMBER(SEARCH("sitea.com",F3)), ISNUMBER(SEARCH("siteb.com",F3)),ISNUMBER(SEARCH("sitec.com",F3)), ISNUMBER(SEARCH("sited.com",F3)),ISNUMBER(SEARCH("sitee.com",F3)))

그러나 이것은 시간이 지남에 따라 어떤 범주의 사이트가 바뀌는 지에 대한 요구 사항 으로서는 거의지지 할 수 없습니다. 테이블을 쉽게 편집 할 수 있도록 테이블에 넣을 수 있기를 바랍니다.



답변

ctrl + shift + enter로 입력 한 배열 수식을 사용할 수 있습니다. 검색은 대소 문자를 구분하지 않으므로 괜찮습니다.

=OR(IFERROR(SEARCH(SiteCategories[Category1],A2),0))

주석에서 카일 덕분에 테이블의 빈 줄을 처리하도록 설정되었습니다.

=OR(IFERROR(IF(SiteCategories[Category2]<>"",SEARCH(SiteCategories[Category2],A‌​2),0),0))


답변