답변1
A열의 셀 병합을 취소하고 정규화하는 옵션이 있는 경우 간단한 방법이 SUMIFS
작동합니다. 그렇지 않으면 다음을 시도해 보세요.
=SUMPRODUCT($C$2:$C$13,
1*($B$2:$B$13=$A16),
1*(ROW($A$2:$A$13)>=SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15)),
1*(ROW($A$2:$A$13)<SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15+1)))
결과:
╔════════╦════╦════╗
║ Day ║ 1 ║ 2 ║
╠════════╬════╬════╣
║ Apple ║ 60 ║ 90 ║
║ Orange ║ 0 ║ 85 ║
║ Pear ║ 75 ║ 0 ║
╚════════╩════╩════╝
원천:
수식을 수정했습니다.여기에서 발견:
설명:
핵심 부분은 SMALL
기능 입니다.
SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15)
지정된 범위에 대한 행 번호 배열을 생성합니다. 여기서 아무것도 포함하지 않는 셀( =""
)은 해당 행 번호( +100*
)보다 100 더 많은 값을 갖습니다. 반면, 조건을 만족하지 않는 셀(즉, 비어 있지 않은 셀)에는 행 번호만 할당됩니다. 이 배열은 두 번째 인수로 SMALL
함수 에 전달됩니다 .B$15
k번째배열에서 가장 작은 항목입니다.
따라서 우리는 행이 일수로 시작하는 행을 합산하려고 합니다. 이것이 바로 이 부분이 수행하는 작업입니다.
1*(ROW($A$2:$A$13)>=SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15))
그러나 우리는 공백이 아닌 다음 셀 바로 위의 셀까지 합계를 제한하려고 합니다. 따라서 <
연산자와 B$15+1
(즉,(k+1)번째가장 작은 항목) 다음 부분에:
1*(ROW($A$2:$A$13)<SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15+1))