"고급" VLOOKUP 범위

"고급" VLOOKUP 범위

명시된 바와 같이 문제에 몇 가지 문제가 있습니다. 다른 우물 이름을 가진 열 A가 포함된 워크시트가 있습니다. 두 번째 및 세 번째 열에는 지질층의 상단 및 하단 깊이와 해당 층의 이름이 표시됩니다. 예: Well_XYZ --- 40.02 --- 40.55 --- Layer_NAME

다른 워크시트에는 A열의 다른 워크시트에 명시된 대로 특정 샘플 깊이와 함께 이러한 다양한 시추공에서 채취한 샘플 목록이 있습니다. 예: 샘플-XYZ --- 40.34

이제 각 시추공 깊이 간격의 샘플 깊이를 확인할 때 샘플 ID 시트에 Layer_NAME을 추가하는 데 사용할 수 있는 공식(EXCEL 셀에 작성됨)을 알고 싶습니다. 여러 가지 접근 방식(INDEX/MATCH, VLOOKUP 사용)을 시도했지만 둘 다 올바르게 작동하지 않습니다(또는 내 프로그래밍 R "논리"에 따라 수식이 "누락된 인수"로 허용되지 않습니다).

저는 아직 이러한 것들을 R에 아웃소싱하고 싶지 않고 대신 Excel 지식(Python이나 R과 같이 다른 "체계"와 접근 방식을 사용함)을 향상시키고 싶기 때문에 이에 대해 도움을 주실 수 있다면 매우 기쁠 것입니다. "뛰어난 사고"의 세계로 저를 소개해주세요. :)

미리 감사드립니다!

답변1

실제 XL 파일을 온라인에 게시하여 살펴보는 것이 많은 도움이 되지만 다음 데이터를 사용해 보았습니다. 시트 1

아, 그런 건 예상 못했어요. SU는 내가 붙여넣은 테이블을 이미지로 변환했습니다. 좋아, 그걸 사용해 보자.

그런 다음 다른 시트는 다음과 같습니다.

시트 2

공식은 다음과 같습니다.

=LOOKUP(B2,Sheet1!B:B, Sheet1!D:D)

나는 이것을 여기에서 얻었습니다 :https://exceljet.net/formula/lookup-value-between-two-numbers

하지만 여기에는 몇 가지 큰 문제가 있습니다! 먼저 Well은 첫 번째 시트의 첫 번째 열 이름이므로 시트에 Well이 두 개 이상 있을 수 있다고 가정해야 합니다. 그 자체로는 문제가 되지 않습니다. 문제는 Top 열의 데이터를 정렬(오름차순)해야 한다는 것입니다. 따라서 다른 우물이 있고 데이터가 다음과 같다면:

시트 1이 수정됨

그런 다음 범위가 겹치고(40.34가 2개의 범위에 속함) 잘못된 결과를 얻을 수 있습니다(마지막 일치 항목을 얻게 됩니다). 우물 이름을 별도의 열로 유지하도록 샘플 페이지를 수정할 수 있는 경우 이를 사용하여 첫 번째 시트를 "필터링"한 다음 결과에 대해 위의 조회를 수행할 수 있습니다. 훨씬 더 복잡하지만 확실히 가능합니다.여기그리고여기.

답변2

귀하의 질문에 일부 세부 사항이 누락된 것 같지만, 샘플 시트에 우물 이름이 있어야 한다고 가정합니다. 따라서 다른 답변을 확장하면 XLOOKUP우물 깊이 필터에 대해 사용할 수 있습니다.

=XLOOKUP(H2,FILTER($B$2:$B$5,$A$2:$A$5=$G2),FILTER($D$2:$D$5,$A$2:$A$5=$G2),"",-1,1)

여기에 이미지 설명을 입력하세요

단순화를 위해 샘플 데이터를 동일한 시트에 배치했습니다.

첫 번째는 FILTER단순히 A열이 현재 행(G열에 있음)의 우물 이름과 일치하는 B열의 값을 반환하는 것입니다. 이것은 단지 두 항목의 배열입니다 {40.02,40.55}. XLOOKUP검색할 값입니다 .

두 번째는 FILTERA열이 현재 행(역시 G열)의 우물 이름과 일치하는 D열의 값을 반환하는 것입니다. 이것이 두 가지 값입니다 {XYZ_1,XYZ_2}. 이제 이는 위에 나열된 두 숫자 값에 해당합니다. 첫 번째 조회 값과 일치하면 첫 번째 레이어 이름이 반환되고, 두 번째 조회 값과 일치하면 두 번째 레이어 이름이 반환됩니다.

의 네 번째 매개변수는 XLOOKUP일치하는 항목을 찾을 수 없는 경우 반환할 항목입니다. 우리의 경우에는 빈 문자열입니다.

다섯 번째 매개변수는 이 문제에서 중요한 매개변수입니다. -1"정확히 일치하거나 다음으로 작은 항목"에 사용됩니다. 샘플의 값을 이 목록과 일치시키려고 하면 조회 배열을 검색하고 검색 중인 값보다 크지 않은 가장 가까운 일치 항목을 찾습니다. 마지막 매개변수는 함수에 검색 방법을 알려줍니다. 기본값은 1이므로 생략 가능합니다.

따라서 우리는 위의 두 숫자 배열에서 를 검색하고 있습니다 40.34. 해당 값보다 크지 않은 가장 가까운 일치 항목을 얻으므로 40.02첫 번째 배열 항목인 을 얻습니다. 따라서 레이어 이름을 포함하는 두 번째 배열에서 첫 번째 배열 항목을 반환합니다 XYZ_1.

요약하면, 필터는 서로 다른 유정의 깊이가 비슷한 문제를 방지하는 데 도움이 되며 대략적인 조회는 필터링된 목록에서 "가장 가까운" 일치 항목을 찾는 데 도움이 됩니다.

관련 정보