무지개타고

더하기를 하자 - 26 본문

Program

더하기를 하자 - 26

OnRainbow 2013. 12. 26. 13:14
년말쯤 되면 신년일출산행 준비하고 그랬지만...
설악산 아니 간지도 꽤 됐군.
저 날 엄청 추웠는데...



아무튼...
신년일출산행을 재끼는 대신 맛난거나 먹어볼까나?

일전에 한 번 다뤄본 자재입출고 관리와 비슷한 유형으로,
이번에는 자료 구성 방식을 조금 달리해 값을 구해본다.



위와 같이 수량과 세트&메뉴&상품 구성이 되어있을 때
상품별 수량은?
물론 배열수식이고 Ctrl+Shift+Enter 키를 동시에 눌러야 한다.

c29 셀
=SUM((TRANSPOSE($B$4:$B$8)=$B$12:$B$16)*MMULT(1*ISNUMBER(MATCH($C$12:$D$16,IF(MMULT(1*($C$20:$D$25=$B29),TRANSPOSE(COLUMN($C$20:$D$25)^0))>0,$B$20:$B$25),0)),TRANSPOSE(COLUMN($C$12:$D$16)^0))*TRANSPOSE(OFFSET($B$4:$B$8,0,MATCH(C$28,$C$3:$F$3,0))))





그런데...
위와 같은 자료 나열은 보기는 편할지 몰라도 처리하기 복잡한 구조다.
가급적 필드를 단촐하게 구성하는 게 이후 처리에 손 쉽다.
누차 말하지만.

아래는 위의 자료 구성을 달리했을 때의 결과.
적어도 수식 길이가 줄어든 것을 볼 수 있다.
물론 배열수식.

c79 셀
=SUM((TRANSPOSE($B$4:$B$8)=$B$56:$B$63)*ISNUMBER(MATCH($C$56:$C$63,IF($C$67:$C$75=$B79,$B$67:$B$75),0))*TRANSPOSE(OFFSET($B$4:$B$8,0,MATCH(C$78,$C$3:$F$3,0))))


Comments