Excel 2016에 수식 그룹이 있습니다.
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45
공식은 각 그룹에서 4번 반복됩니다.
다음 4개 행 등을 자동으로 채우고 싶습니다.
...
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46
이를 수행할 수 있는 방법이 있습니까?
답변1
이를 수행하는 일반적인 방법은 행 및 열 번호를 지정하여 셀 범위 내의 셀을 조회할 수 있는 INDEX() 함수를 사용하는 것입니다.
다음과 같이 사용하십시오.
=INDEX($A$1:$A$100, INT((ROW($A1)-ROW($A$1))/4)+1)
어디
$A$1:$A$100은 참조하는 셀 범위입니다(원하는 만큼 아래로 내려갈 수 있음).
ROW()는 참조하는 셀의 행 번호를 제공하므로 ROW($A1)-ROW($A$1)는 채우는 첫 번째 셀에서 아래로 셀 수를 제공합니다. ($에 주목하세요)
이를 4로 나누고 반올림하면 데이터를 가져오는 셀의 줄 번호를 얻을 수 있습니다. 이 수식은 원하는 만큼 페이지 아래로 복사할 수 있습니다.
비슷한 방식으로 "OFFSET" 또는 "INDIRECT" 함수를 사용할 수 있지만 두 함수 모두 Excel의 계산 프로세스 스마트 최적화를 활용할 수 없는 '휘발성' 함수이므로 스프레드시트 속도가 훨씬 느려집니다.
최적화:
4개의 셀 중 3개가 위와 같기 때문에 "INDEX"의 사용 횟수를 줄일 수 있습니다. 그래서 우리는 다음을 사용합니다:
Cell Formula
C1 =INDEX($A$1:$A$100, INT((ROW($A1)-ROW($A$1))/4)+1)
C2 =C1
C3 =C2
C4 =C3
C5 =INDEX($A$1:$A$100, INT((ROW($A1)-ROW($A$1))/4)+1)
C6 =C5
C7 ...
4행 블록으로만 수행하는 한 시트 아래로 복사하여 붙여넣을 수 있습니다.