
두 개의 시트가 있는 Excel 파일이 있습니다.
- 요약
- 원시 데이터
내 요약 시트에는 다음 데이터 행마다 몇 행의 간격이 있는 이와 같은 데이터가 있습니다.
이제 문제는 1000개 이상의 행이 있는 시트가 있고 그 안의 내용을 변경하려는 경우 RawData 시트에 대한 참조를 계속하지 않고 셀 번호를 참조로 가져오기 때문에 각 셀 참조를 수동으로 편집해야 한다는 것입니다. 요약 시트.
첨부된 예제 그림에서 수식을 복사하여 붙여 넣으면 수동 수식 열에 표시된 대로 수식을 복사해야 하는 행 간격에 따라 셀 번호가 2, 5, 8, 11 등으로 표시됩니다. 현재 시트 행 번호에 관계없이 B2, B3, B4, B5 순서와 같습니다. 많은 것을 시도했지만 전혀 해결책을 찾지 못했습니다. 도움이 필요하세요?
혼란을 피하기 위해 RawData 탭의 스크린샷을 사용하여 내 시트에서 보다 현실적인 예를 만듭니다.
원시데이터 시트:- 원시 데이터 시트
RawData 시트의 데이터를 연결하는 링크된 시트는 다음과 같습니다. 요약 제품 시트
보시다시피, 수식을 복사하여 붙여넣으면 테스트 제품 1, 테스트 제품 6 및 테스트 제품 11이 표시되지만 이는 테스트 제품 1, 2, 3이어야 합니다.
다음은 Excel 파일 링크의 예입니다.https://we.tl/t-3F3mJra7pe
답변1
먼저 문제의 원인을 설명하겠습니다.
- ~에요약 시트셀에서
F3
수식은=Rawdata!A2
값을 반환합니다Test Product 1
. - 복사하자마자요약 시트
B3:F7
의 데이터B8
, Excel 읽기6줄셀 사이 및 셀 에서F3:F8
반환Test Product 7
B8
원시 데이터시트.
그것은 전체 운동을 망치고 있었습니다.
해결책:
- 당신은 필요도우미 칼럼~에원시 데이터시트.
B3
셀 다시 쓰기요약시트 단순제품 1.- 다음 셀에 이 수식을 입력하세요
F3
.요약시트.
=VLOOKUP(B3,RawData!A$2:E$12,2,FALSE)
당신은 이것을 얻습니다.
- 지금,복사범위
B3:F7
및반죽셀에B8
.
당신은 이것을 얻습니다.
B8
다음 으로 셀 다시 쓰기단순제품 2, 이제 올바른 순서를 얻었습니다.
- 반복하다복사 붙여 넣기교정으로간단한 제품순서대로, 당신은 원하는 결과를 얻습니다.
필요에 따라 수식에서 셀 참조를 조정할 수 있습니다.
답변2
이러한 유형의 시나리오에서는 OFFSET() 함수를 사용하는 것이 더 간단하면서도 강력한 솔루션이라고 생각합니다. 오프셋은 단일 셀 또는 셀 범위에 대한 참조를 반환합니다. 시나리오를 고려할 때 첫 번째 공식 복사 및 붙여넣기가 RawData Product1을 참조해야 하고 두 번째 복사 및 붙여넣기가 Product2를 참조하는 경우 이러한 복사 및 붙여넣기에서 건너뛴 행 수에 관계없이 다음과 같이 이 OFFSET을 구현합니다.
A B C D E F
Simple Product FALSE TRUE =OFFSET(RawData!$A$1;COUNTA(Summary!$B$1:B1);0)
AttrId AttrName AttrVal
1 Size Small
1 Size Medium
1 Size Large
Simple Product FALSE TRUE =OFFSET(RawData!$A$1;COUNTA(Summary!$B$1:B6);0)
AttrId AttrName AttrVal
1 Size Small
1 Size Medium
1 Size Large
Simple Product FALSE TRUE =OFFSET(RawData!$A$1;COUNTA(Summary!$B$1:B11);0)
AttrId AttrName AttrVal
1 Size Small
1 Size Medium
1 Size Large
Simple Product FALSE TRUE =OFFSET(RawData!$A$1;COUNTA(Summary!$B$1:B16);0)
AttrId AttrName AttrVal
1 Size Small
1 Size Medium
1 Size Large
수식 "=OFFSET(RawData!$A$1;COUNTA(Summary!$B$1:B1);0)"을 복사하면 "Summary!$B$1:B1"에 대한 참조가 자동으로 동일하게 변경됩니다. 당신이 원하지 않는 행동; 그러나 해당 참조가 COUNTA() 수식 내에서 사용되면 효과가 나타나며 수천 개의 참조를 직접 변경할 필요가 없습니다. 이를 수행하면 COUNTA()는 열 시작 이후 "단순 제품"이 나타나는 횟수를 계산하고 이 내부 오프셋을 사용하여 순서 위치에서 해당 제품을 참조합니다. 보조 기둥을 만들 필요 없이 이 모든 작업을 수행할 수 있습니다. 결과는 다음과 같습니다.
A B C D E F
Simple Product FALSE TRUE TestProduct1
AttrId AttrName AttrVal
1 Size Small
1 Size Medium
1 Size Large
Simple Product FALSE TRUE TestProduct2
AttrId AttrName AttrVal
1 Size Small
1 Size Medium
1 Size Large
Simple Product FALSE TRUE TestProduct3
AttrId AttrName AttrVal
1 Size Small
1 Size Medium
1 Size Large
Simple Product FALSE TRUE TestProduct4
AttrId AttrName AttrVal
1 Size Small
1 Size Medium
1 Size Large