필터링 된 EXCEL 데이터에서 OFFSET은 어떻게 작동합니까?


4

중히 여기다:

    +---------------+
    | Column A      |
+---+---------------+
| 1 | Milan         |
+---+---------------+
| 2 | Paris         |
+---+---------------+
| 3 | London        |
+---+---------------+
| 4 | Milan         |
+---+---------------+
| 5 | Firenza       |
+---+---------------+
| 6 | Napoli        |
+---+---------------+
| 7 | Amsterdam     |
+---+---------------+
| 8 | Copenhagen    |
+---+---------------+
| 9 | Amsterdam     |
+---+---------------+

이탈리아의 도시를 찾기 위해 열 A를 필터링한다고 가정하겠습니다. 다음과 같은 결과가 반환됩니다.

    +---------------+
    | Column A      |
+---+---------------+
| 1 | Milan         |
+---+---------------+
| 4 | Milan         |
+---+---------------+
| 5 | Firenza       |
+---+---------------+
| 6 | Napoli        |
+---+---------------+

이제 다음 표현을 고려하십시오.

=IFERROR(VLOOKUP($AR5,Copy!$I$1:$K$3,2,0),OFFSET($A$1,2,0))

OFFSET소스 데이터의 WHOLE을 참조 합니까? 이 경우 오류가 발생한 경우 기본값 London은 결과 집합이거나 오류가 발생한 경우 기본값 은 결과 집합 Firenze입니까?

워크 시트에 일관성이없는 결과가 표시 되며이 상황에서 발생하는 일을 지연시켜 디버깅 옵션을 좁히는 것이 무엇입니까?


답변:


3

먼저 일반적인 디버깅 공식에 대해 :

이를 수행하는 가장 좋은 방법은 Evaluate formula기능 을 사용하는 것입니다 ( Formula탭에서). 이를 통해 각 단계 / 매개 변수에서 어떤 일이 발생하는지 확인할 수 있습니다. 또한 수식에서 한 부분 (예 : 완전한 오프셋 수식)을 강조 표시 한 경우을 누릅니다 F9. 그러면 수식 입력 줄에서 강조 표시된 문장이 평가됩니다.

OFFSET은 London숨겨진 셀도 고려하므로 OFFSET은을 반환 합니다.

두 번째로 보이는 셀을 반환하려면 추가 열이 포함 된 작은 트릭이 필요합니다. 수식 =SUBTOTAL(3,A1)+C1을 C2에 배치합니다 (테이블이 1 행에서 시작하고 C 열을 사용할 수 있다고 가정 한 후 수식을 복사합니다). 모든 보이는 셀에 대한 카운터, 즉 자동 필터에 따라 숫자가 변경됩니다.

이제 수식 =INDEX(A:A,MATCH(2,C:C,0))이 두 번째로 보이는 요소를 반환합니다.


3

OFFSET()숨겨진 / 필터링 된 데이터 는 제외 되지 않습니다 . 아래 예에서 데이터의 일부가 숨겨 지거나 필터링 된 경우에도 수식 C1이 동일한 셀 을 가리키는 것을 볼 수 있습니다.

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

목록에서 세 번째로 보이는 항목을 얻으려면이 배열 수식 1을 사용할 수 있습니다 .

=INDEX(xmen,
       SMALL(IF(SUBTOTAL(3,OFFSET(xmen,ROW(xmen)-ROW(A2),0,1)),ROW(xmen)),3)-1,1)

어디에:

xmen→ 제목을 제외한 데이터 범위를 나타냅니다 ( A1:A9예 : A2:A9아래 샘플)
A2→ 범위의 첫 번째 항목을 가리 킵니다 (제목이 아님).

예를 들면 다음과 같습니다.

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

-
1 커밋해야합니다 / 사용하여 입력 Ctrl+ Shift+ Enter당신은 당신의 VLOOKUP 수식과 통합 후


0

이것으로 간단하게 유지하십시오.

=VLOOKUP(SUBTOTAL(5,A:A),A:B,2,FALSE)

표시 가능한 가장 작은 숫자 (소계 5가 최소값)와 vlookup값 (해당 색인 번호에서 찾은 첫 번째 값도 사용함 ) 을 찾습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.