
다음과 같은 데이터가 있습니다.
위치를 찾아야 해(행 번호 가져오기)문자로 시작하는 셀의 경우ㅏ.
나의 현재 접근 방식은 "도우미" 열을 사용하는 것입니다. ~ 안에지하 1층나는 다음을 입력한다:
=IF(LEFT(A1)="A",1,"")
그리고지하 2층나는 다음을 입력한다:
=IF(LEFT(A2)="A",MAX($B$1:B1)+1,"")
그리고 복사해 가세요. 이는 관심 있는 행을 식별합니다. 마침내C1나는 사용한다:
=IFERROR(MATCH(ROWS($1:1),$B$1:$B$23,0),"")
그리고 복사해 가세요.
내 목표는 "도우미" 열을 제거하는 것입니다.
내가 보는 유일한 두 가지 옵션은 다음과 같습니다.
- 자동 필터를 사용하세요
- VBA를 사용하다UDF
자동 필터 접근 방식은 데이터가 새로 고쳐질 때마다 필터를 다시 실행해야 하기 때문에 좋지 않습니다. 그만큼UDF시트가 VBA가 없는 환경에서 작동해야 하기 때문에 접근 방식이 좋지 않습니다.
행 번호를 얻을 수 있는 수식이나 배열 수식이 있습니까? 아니면 "도우미" 열이 붙어 있습니까?
답변1
Ctrl+ Shift+ 를 사용하여 배열 수식으로 입력해 보세요 Enter.
{=SMALL(IF(LEFT($A$1:$A$23)="A",ROW($A$1:$A$23),9E+99),ROW())}
하지만 귀하의 기준은 실제 응용 프로그램보다 더 복잡하다고 생각합니다. LEFT($A$1:$A$23)="A"
원하는 기준으로 대체할 수 있으며 여전히 작동합니다.
9E+99
"A"로 시작하는 행보다 더 많은 행을 복사하면 이 값이 반환됩니다 . 대신 공백으로 반환되도록 조정할 수 있습니다.
{=IFERROR(SMALL(IF(LEFT($A$1:$A$14)="A",ROW($A$1:$A$14),""),ROW()),"")}
답변2
이것을 시도해 보십시오:
C1에 0을 넣으십시오.
C2에서: =match(indirect("a"&c1+1&":a<last row>",true),"a*",0)+C1
참고: 일치는 대소문자를 구분하지 않습니다. 일치하는 항목을 찾은 후 오류를 관리해야 합니다.