메뉴
실무 위키응용 공식수량만큼 상품 행을 반복해 펼치는 공식

수량만큼 상품 행을 반복해 펼치는 공식

2024
지원 버전 자세히 보기
엑셀 2024M365웹 엑셀

상품을 주문 수량만큼 반복해 행으로 펼칩니다.

수량만큼 상품 행을 반복해 펼치는 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

=LET ( d, FILTER ( 원본 범위, 상품명 범위 <> "" ), q, CHOOSECOLS ( d, 3 ), cum, SCAN ( 0, q, LAMBDA ( a, b, a + b ) ), MAKEARRAY ( SUM ( q ), 2, LAMBDA ( r, c, INDEX ( d, XMATCH ( r, cum, 1 ), c ) ) ) )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
원본 범위필수상품명, 규격, 수량을 왼쪽부터 차례로 입력한 범위입니다. 수량 열의 값은 모두 1 이상의 정수입니다.
상품명 범위필수빈 행을 제외할 기준이 되는 상품명 범위입니다. 비교식 <>""에서 <>는 같지 않음, ""는 빈 문자열이므로 상품명이 있는 행만 남기는 조건 범위입니다.
E2=LET(d,FILTER(A2:C6,A2:A6<>""),q,CHOOSECOLS(d,3),cum,SCAN(0,q,LAMBDA(a,b,a+b)),MAKEARRAY(SUM(q),2,LAMBDA(r,c,INDEX(d,XMATCH(r,cum,1),c))))
A
B
C
D
E
F
G
H
I
J
1
상품
규격
수량
반복 상품
반복 규격
검산 항목
2
머그컵
화이트
2
머그컵
화이트
상품 수
4
3
텀블러
블랙
3
머그컵
화이트
수량 합계
8
4
노트
무지
1
텀블러
블랙
결과 행 수
8
5
에코백
네이비
2
텀블러
블랙
6
텀블러
블랙
7
노트
무지
8
에코백
네이비
9
에코백
네이비
10
수량 합계 8만큼 결과 행이 만들어지고 같은 상품의 이름과 규격이 주문 수량대로 반복됩니다. E2 셀에 수식 하나를 입력하면 E2:F9 범위에 결과가 자동으로 펼쳐집니다.

동작 원리

FILTER 함수가 빈 상품 행을 제외하고 SCAN 함수가 수량의 누적 끝번호를 만들면, XMATCH 함수가 반복 순번에 대응하는 원본 행을 찾고 MAKEARRAY 함수가 상품명과 규격을 펼칩니다.

예제 시트에서 반복 목록이 시작되는 E2 셀을 추적합니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

빈 상품 행을 제외합니다

상품명이 비어 있지 않은 네 행만 남기면 상품명, 규격, 수량이 함께 있는 원본 배열이 만들어집니다.

=FILTER ( A2:C6, A2:A6 <> "" )
= {머그컵, 화이트, 2; 텀블러, 블랙, 3; 노트, 무지, 1; 에코백, 네이비, 2}
2

수량의 누적 끝번호를 구합니다

수량 2, 3, 1, 2를 앞에서부터 더하면 각 상품이 끝나는 반복 순번은 2, 5, 6, 8입니다.

=LET ( d, FILTER ( A2:C6, A2:A6 <> "" ), q, CHOOSECOLS ( d, 3 ), SCAN ( 0, q, LAMBDA ( a, b, a + b ) ) )
= {2; 5; 6; 8}
3

반복 순번마다 원본 행을 찾습니다

일치 방식 1은 반복 순번과 정확히 같거나 다음으로 큰 누적 끝번호를 찾습니다. 1~8번은 원본의 1, 1, 2, 2, 2, 3, 4, 4번째 행에 대응합니다.

=XMATCH ( {1;2;3;4;5;6;7;8}, {2;5;6;8}, 1 )
= {1; 1; 2; 2; 2; 3; 4; 4}
4

찾은 행의 상품명과 규격을 펼칩니다

수량 합계만큼 여덟 행을 만들고 각 반복 순번에 대응하는 원본 행의 첫째 열과 둘째 열을 가져옵니다.

=LET ( d, FILTER ( A2:C6, A2:A6 <> "" ), q, CHOOSECOLS ( d, 3 ), cum, SCAN ( 0, q, LAMBDA ( a, b, a + b ) ), MAKEARRAY ( SUM ( q ), 2, LAMBDA ( r, c, INDEX ( d, XMATCH ( r, cum, 1 ), c ) ) ) )
= {머그컵, 화이트; 머그컵, 화이트; 텀블러, 블랙; 텀블러, 블랙; 텀블러, 블랙; 노트, 무지; 에코백, 네이비; 에코백, 네이비} E2:F9 범위에 여덟 행과 두 열로 표시됩니다.
댓글 0
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
스크랩 완료