Excel: 특정 문자열이 포함된 마지막 행 번호를 반환하는 방법은 무엇입니까?

Excel: 특정 문자열이 포함된 마지막 행 번호를 반환하는 방법은 무엇입니까?

Excel에서 현재 행 앞에 특정 문자열이 포함된 마지막 행 번호를 반환하는 열 B(아래 예)를 채우는 데 사용할 수 있는 Excel 수식이 있습니까?

데이터가 연속되어 있지 않습니다.
예를 들어 데이터는 다음과 같습니다.

   |  A (value)    B (prev recent instance)
----------------------------------------------
 1 |  Mike
 2 |  John
 3 |  Mike         1
 4 |  Tony         
 5 |  Mike         3
 6 |  John         2

그런 다음 C열이 가장 빠른 인스턴스를 표시하도록 확장하고 싶습니다.

이 질문과 매우 유사한 것 같습니다. 특정 데이터가 포함된 범위 내 셀의 마지막 행 번호를 반환하는 Excel 수식은 무엇입니까?그러나 해당 질문과 답변에는 데이터가 연속되어 있어야 합니다.

편집하다: 답변이 워크시트 공식이었으면 좋겠지만 VBA를 통해 구현하는 것이 더 적절하다고 생각한다면 각 접근 방식의 장단점과 함께 답변에도 포함해 주세요.

답변1

가장 빠른 인스턴스를 찾으려면 아래 공식을 참조하세요.

=LOOKUP(2,1/(A:A=A2),ROW(A:A))

이해를 돕기 위해 아래 스크린샷을 첨부합니다.

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

답변2

데이터가 A1에서 시작한다고 가정하고 B2에서 이 "배열 수식"을 사용해 보세요.

=IF(COUNTIF(A$1:A1,A2),MATCH(2,1/(A$1:A1=A2)),"")

CTRL+SHIFT+ENTER로 확인하고 복사했습니다.

또는 이 비 어레이 버전을 사용할 수 있습니다

=IF(COUNTIF(A$1:A1,A2),MATCH(2,INDEX(1/(A$1:A1=A2),0)),"")

Excel 2007 이상에서는 IFERROR를 사용하여 단순화할 수 있습니다. 즉, 배열 버전은

=IFERROR(MATCH(2,1/(A$1:A1=A2)),"")

C 열의 "첫 번째 인스턴스" 행에 대해 아래에 복사된 C1에서 이 공식을 시도해 보세요.

=MATCH(A1,A$1:A1,0)

참고: 수식은 엄격하게 "행 번호"를 반환하지 않지만 데이터의 상대 행 번호를 반환합니다. 즉, 데이터의 행 1은 1을 반환합니다.

관련 정보