범위 내에서 일치하는 모든 수치/데이터를 찾는 방법

범위 내에서 일치하는 모든 수치/데이터를 찾는 방법

MAX 수치와 관련될 수 있는 연도를 찾으려고 합니다.

  • 2000-2010년 (A1:J1)
  • 데이터(A2:J2)
  • MAX 데이터는 A3에 배치됩니다.

INDEX/MATCH를 사용하여 DATA의 MAX와 일치하는 FIRST MAX YEAR를 제공할 수 있지만 이 MAX 수치는 여러 연도(예: 2002, 2005, 2009)에 나타날 수 있습니다.

B3의 첫 번째 최대 연도

FIRST MAX YEAR 이후에 검색을 시작하기 위해 (OFFSET, 0, B3)을 사용하여 또 다른 인덱스 일치를 시작하려고 하는 수식이 C3에 있지만 어떤 이유에서인지 첫 번째 연도가 표시됩니다.

=INDEX(A1:J1,MATCH(A3,OFFSET(A2:J2,0,MATCH(B3, A1:J1,0))))

숫자를 반올림하여 소수점이 하나 있고, A2:J2. 범위에 일치하는 MAX of DATA 숫자가 두 개 있다는 것을 알고 있습니다.

업데이트: 더 명확하게 설명할 수 있는 이미지입니다.

최대 값으로 연도 찾기 어떤 아이디어가 있나요?

고마워요 마이클


답변:

나는 아래 댓글에서 Abdul의 링크를 따라가서 내 요구 사항을 매우 잘 충족하는 공식을 찾았습니다.

=IFERROR(INDEX(A1:K1,SMALL(IF(A2:K2=$A$3,COLUMN(A2:K2)-COLUMN(INDEX(A2:K2,1,1))+1),nth))," ")

n번째 셀은 2번입니다. 따라서 A3 셀의 두 번째 발생 항목을 찾고 있습니다.

이것이 사람들에게 도움이 되기를 바랍니다. 그리고엑셀젯훌륭한 사이트입니다. 적극 추천합니다.

get-nth-match-with-index-match

답변1

B3, C3 등에 입력된 수식으로만 이 작업을 수행할 수 있습니다. 하지만 수식을 더 쉽게 읽을 수 있도록 도우미 행(4행)을 추가하는 것이 좋습니다.

B4 셀에 다음을 입력합니다.

=MATCH($A3,OFFSET($A2:$K2,0,A4),0)+A4

이는 행 2에서 처음으로 나타나는 19.0의 열 번호를 반환합니다 6. 이 수식을 오른쪽에 복사하면 나머지 셀에 19.0이 표시 8됩니다 . 이제 B3 셀에 다음을 입력합니다.11#N/A

=INDEX($A1:$K1,B4)

그리고 오른쪽에 수식을 복사하세요. 최대 값이 발견된 연도를 얻을 수 있습니다: 2005, 2007그리고 나머지 셀에 2010이어집니다 .#N/A

값을 보고 싶지 않으면 기능을 사용하여 공백으로 변경할 #N/A수 있습니다 .IFERROR

답변2

배열 수식이 필요하지 않기 때문에 Blackwood의 답변이 마음에 듭니다. 그러나 도우미 행을 준수할 수 없거나 하나의 수식만으로 이 작업을 수행해야 하는 경우 A4에서 이를 사용하고 오른쪽을 채울 수 있습니다.

 =IFERROR(SMALL(IF($A$2:$K$2=$A$3,$A$1:$K$1),COLUMN()),"")

배열 수식이므로 CTRL Shift Enter그냥 가 아닌 으로 입력해야 합니다 Enter.

작동 방식은 다음과 같습니다. IF()는 데이터가 A3(데이터의 최대값)과 일치하고 다른 곳에서는 FALSE와 일치하는 연도 배열을 생성합니다.

{False;False;False;False;False;2005;False;2007;False;False;2010}

그런 다음 SMALL()은 열 번호를 인덱스로 사용하여 해당 배열에서 첫 번째, 두 번째, 세 번째 등의 가장 작은 값을 선택합니다. 숫자만 확인하고 배열의 "False" 값은 무시합니다.

마지막으로 IFERROR()는 #N/A 오류를 공백으로 바꿉니다.

관련 정보