이 사이트의 제안 사항 중 일부를 사용하여 여러 워크시트에서 가져올 수 있는 다음 공식을 얻었습니다.
=FILTER(VSTACK(FRR:SOD!G3:M200),
(VSTACK(FRR:SOD!K3:K200)<>"")*
(VSTACK(FRR:SOD!K3:K200)="ABC XXXX"))
"ABC XXXX" 내에서 부분 일치를 필터링하는 방법이 있습니까? ABC를 위치로 생각하고 XXXX를 해당 위치의 직업/직위로 생각하십시오. ABC에 할당된 모든 사람을 새 워크시트로 끌어온 다음 직무/직위별로 필터링하고 싶습니다. 그게 가능합니까?
답변1
이를 수행하는 한 가지 방법은 다음과 같습니다.
=LET(
α, VSTACK(FRR:SOD!G3:M200),
δ, INDEX(α,,5),
FILTER(α, (δ<>"")*(1-ISNA(XMATCH("ABC *",δ,2))),"Not Found"))
- 함수를 사용하면
LET()
변수를 정의하는 데 도움이 되며 동일한 수식을 반복하지 않고도 쉽게 읽을 수 있습니다. α
변수는 시트의 범위 와 시트의VSTACK()
범위로 구성된 하나에 여러 시트 데이터를 추가하는 사용으로 정의됩니다 .G3:M200
FRR
SOD
δ
변수는 함수를 사용하여 반환된 배열에서INDEX()
추출하는 것으로 정의됩니다 .5th
α
XMATCH()
와일드카드 연산자와 함께 사용Asterix
*Zero
는 임의 개수의 문자를 의미합니다 . 이 사용 사례에서는 위치를 사용 하고 배열의 동일한 위치에 할당된 위치로 시작하고 끝나는ABC *
위치를 확인합니다 .ABC
job/position
δ
- 일치하는 항목이 발견되면
ISNUMBER()
반환하는 데 사용할 수도TRUE
있고 동일한 작업을 수행하는 데1-ISNA()
사용할 수도 있습니다. 즉, 먼저 다음 오류를 뺀 결과를 반환ISNA()
합니다 .TRUE
#N/A
TRUE
ISNUMBER()
- 마지막으로
FILTER()
함수 내에서 래핑하여TRUE
.
노트:
• 엑셀에는와일드카드 3개수식에 사용할 수 있습니다.
- 별표(
*
) --> 0개 이상의 문자. - 물음표(
?
) --> 임의의 한 문자. - 틸데(
~
) --> 리터럴 문자(~*
), 리터럴 물음표(~?
) 또는 리터럴 물결표(~~
)에 대한 이스케이프입니다.
답변2
부분 일치의 경우에는 여러 가지 조합이 있을 것인데,,,, 아래에서 알려드리고 싶은 조합이 있습니다.
=FILTER(VSTACK(FRR:SOD!G3:M200),
(VSTACK(FRR:SOD!K3:K200<>"")*
((ISNUMBER(SEARCH("NEW*", VSTACK(FRR:SOD!K3:K200)))) +
(ISNUMBER(SEARCH("*MANAGER", VSTACK(FRR:SOD!K3:K200)))) > 0))
- 이제 ((ISNUMBER(SEARCH("NEW*")에 대해 설명하겠습니다.
- 여기 NEW* ,, * 에서는 와일드카드 문자가 더 많은 문자를 가정합니다.
- NEW Delhi, NEW York, NEW Jersey 등과 같은 위치를 가정할 수 있습니다.
- 또 다른 것은 (ISNUMBER(SEARCH("*MANAGER"" 입니다. 여기서 *MANAGER는 EDP MANAGER, SALES MANAGER 등을 가정할 수 있습니다.
주의
다른 와일드카드 문자를 사용할 수 있습니다. ?필요에 따라.
추가적으로이 링크를 확인하세요 .
답변3
모든 사람의 의견에 감사드립니다. 비록 아직 조금씩 배우는 중이기 때문에 일부는 약간 복잡할 수도 있습니다. 다른 포럼의 이 공식은 제가 필요로 했던 것과 정확히 일치했으며 이해하기 쉬웠습니다.
=FILTER(VSTACK(FRR:SOD!G3:M200),LEFT(VSTACK(FRR:SOD!K3:K200),3)="ABC")
모든 도움에 감사드립니다!