배열 수식을 사용하여이를 수행 할 수 있습니다. 데이터가 워크 시트 WS1
의 A
, B
및 C
열에 있다고 가정합니다. 워크 시트 WS2
에 세포 A1
에 다음 수식을 입력 :
=INDEX('WS1'!$A:$A,SMALL(IF('WS1'!$A:$A=1,ROW(INDIRECT("1:"&COUNTA('WS1'!A:A)))),ROWS('WS1'!$A$1:$A1)))
확인 Ctrl 키 사용이 공식 - Shift 키를 - 이 배열 수식임을 나타냅니다를 입력합니다. 결과적으로 중괄호 {}
이 표시됩니다.
마찬가지로, 워크 시트 WS2
에 세포 B1
및 C1
에서 다음 배열 수식을 입력 :
=INDEX('WS1'!$B:$B,SMALL(IF('WS1'!$A:$A=1,ROW(INDIRECT("1:"&COUNTA('WS1'!A:A)))),ROWS('WS1'!$A$1:$A1)))
=INDEX('WS1'!$C:$C,SMALL(IF('WS1'!$A:$A=1,ROW(INDIRECT("1:"&COUNTA('WS1'!A:A)))),ROWS('WS1'!$A$1:$A1)))
그런 다음 세포를 워크 시트 WS2
에 A1
, B1
및 C1
을 선택하고 멀리 아래로 오른쪽 하단 모서리를 끝까지 드래그 모든 행을 포함하는 데 필요한만큼. 너무 아래로 드래그하면 #NUM
이 표시됩니다. WS1
에 열 A
의 값을 조정하는 경우 워크 시트의 컬럼의 내용이 자동으로 업데이트됩니다 WS2
=IFERROR(INDEX('WS1'!$A:$A,SMALL(IF('WS1'!$A:$A=1,ROW(INDIRECT("1:"&COUNTA('WS1'!A:A)))),ROWS('WS1'!$A$1:$A1))),"")
에로,이를 방지 (나중에 엑셀 2007의 경우)
IFERROR()
수식에 수식을 포장합니다.
좀 더 효율적인 솔루션은 도우미 열을 사용하여 워크 시트 WS3
에 말합니다.
=IFERROR(SMALL(IF('WS1'!$A:$A=1,ROW(INDIRECT("1:"&COUNTA('WS1'!A:A)))),ROWS('WS1'!$A$1:$A1)),"")
그럼 B1
, C1
및 D1
(정상이 아닌 배열 식)에서 다음 수식을 입력 : 먼저 (A1
에 배열 수식으로)하기 화학식으로 해당 행의 인덱스를 계산
=IF(ISBLANK($A1),"",INDEX('WS1'!$A:$A,$A1))
=IF(ISBLANK($A1),"",INDEX('WS1'!$B:$B,$A1))
=IF(ISBLANK($A1),"",INDEX('WS1'!$C:$C,$A1))
을 선택하고 아래로 드래그하십시오.
당신은이 일을 업로드 example workbook here
감사합니다. – carlo