효과적으로 "인덱싱"을 시도 중입니다. 특정 기준에 따라 목록을 복사합니다.

효과적으로 "인덱싱"을 시도 중입니다. 특정 기준에 따라 목록을 복사합니다.

데이터 열이 있고 그 옆에 마커가 있습니다. 생각하다:

ID#1 -- A
ID#2 -- B
ID#3 -- A

마커 A가 있는 ID 번호 위로만 이동하려고 합니다. 최종 결과는 다음과 같습니다.

ID#1
ID#3

VBA를 사용하면 매우 쉽습니다. 범위 필터링, 복사, 붙여넣기 등이 있습니다. 이 문제에 대한 VBA가 아닌 솔루션을 찾으려고 합니다. 다양한 배열 수식(Index(range,sumproduct(row*criteria)))을 시도했지만 제대로 작동하지 않습니다. 이것이 작동하도록 하려면 어떻게 해야 합니까?

계산상의 우아함은 중요한 요소입니다. 제가 다루고 있는 시트는 크기 때문에 데이터베이스여야 하지만 그 능력이 그 아이디어를 거부했습니다.

답변1

사용:

=IFERROR(INDEX($A$1:$A$8,SMALL(IF($B$1:$B$8="A",ROW($B$1:$B$8),999999),ROW(A1))),"")

Small은 각 행(가장 작은 것부터 가장 큰 것까지)에 대해 "A"가 있는 ID를 반환합니다.
A1:A8 ID 열에 해당하도록 변경합니다.
B1:B8 A 열에 해당하도록 변경합니다.
고정 참조를 위해 $를 유지하는 대신 + + 를
누릅니다 . 배열 수식 CtrlShiftEnterEnter

관련 정보