1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

[레벨:30]아별

2012.02.29 18:08

안녕하세요?

아별툴 깔고 나서 글이 안써진다고 하셨었는데..

그 문제는 잘 해결이 되셨는지요.. ^-^a


첨부파일 열어보고.. 화들짝~ 놀랐습니다.

데이터가 좀 많네요..


일단 만들긴 했는데요..

쉽게 설명해달라고 하셔서.. 고민입니다. ㅎㅎ

어떻게 쉽게 설명을 해야할지.. ㅠㅠ


일단 첨부파일을 다운 받으세요..

다운받기 : abyul.com_20120229_OFFSET-1.xlsx


abyul.com_0000340.jpg



음..

기본 로직은.. 음.. 음.. ㅎㅎ 음.. 쉽게.. 쉽게.. 음.. ^_^;;;;;


1. 새로운 시트를 만듭니다.


2. 원본 시티의 A열의 일수는 그냥 갖고 와요..

    새로운 시트의 A1셀을 선택하고 =원본!A1 라고 입력한 다음.. 복사하고.. 

    아래쪽에 쭉 붙여넣기 하시면 원본시트의 A열을 그대로 갖고 오겠죠.


3. 비슷한 방법으로 첫번째 행의 값도 원본 시트의 값을 그대로 갖고 와요..

    A1셀을 선택하고 복사해서.. B1셀부터 DC1셀에 붙여넣으면 되겠죠?


4. 이제부터가 문제인데요.. ^_^;;

     B2셀에 아래 수식을 입력하신 다음..

     =IF(B$1<$A2,원본!B2,IF(B$1>$A2,"",SUM(원본!$B2:$DC2)-SUM(OFFSET(원본!$A2,0,1,1,원본!$A2-1))))

     B2셀을 복사하신 다음에.. B2부터 DC114셀까지 한번에 선택해서 붙여넣기 하시면 됩니다.


5. 끝~ ㅎㅎ



쉽죠? ^__^;;;;



음.. 음.. 

문제는 저 수식을 어떻게 만들었느냐는 것이겠지요.. 쿨럭~


 

 

문제의 수식..
=IF(B$1<$A2,  원본!B2,  IF(B$1>$A2,  "",  SUM( 원본!$B2:$DC2 ) - SUM( OFFSET( 원본!$A2 , 0 , 1 , 1 , 원본!$A2-1 )   ) ) )
수식을 요소별로 끊어서 보겠습니다.
=IF(B$1<$A2,  원본!B2,  
          IF(B$1>$A2,  "",  
                    SUM( 원본!$B2:$DC2 ) - SUM( OFFSET( 원본!$A2 , 0 , 1 , 1 , 원본!$A2-1 )   ) ) )
위 수식을 간략하게 보면..
=IF( 열 순번이 일수보다 작으면 , 원본 그대로 갖고옴, 
          그렇지 않고 열 순번이 일수보다 크면, 공백""으로 만듬 , 
                    이도 저도 아니면.. 순번이 일수와 같으면.. , 행 전체 합계에서 1번 순번부터 일자전 순번까지의 합계를 빼줌 )
다른것들은 대충 이해가 가실테고..
OFFSET 함수가 문제인데요..
OFFSET함수의 사용법은 아래와 같습니다.
=OFFSET(  기준셀, 몇번째 아래 행, 몇번째 오른쪽 열, 그 위치에서 행의 개수, 그 위치에서 열의 개수 )
원 수식의 OFFSET 부분을 보면..
OFFSET( 원본!$A2 , 0 , 1 , 1 , 원본!$A2-1 )
원본시트의 A2셀이 기준 점이 되고..
몇번째 아래 행이 0이니까.. 같은 행이니까.. 여전히 A2셀이고..
몇번째 오른쪽 열이 1이니까.. 바로 옆셀.. 즉 B2셀이 다시 기준이 되고..
그 위치에서.. 행의 개수가 1이니까.. B2가 되고..
그 위치에서.. 열의 개수가 원본시트의 A2값의 -1한 값이니까.. 일수인 9 -1 한 값.. 즉 8이 됩니다.
최종 위치인 B2셀에서 열의 개수가 8만큼 확장되니까.. B2:I8이 되겠죠..
그 범위를 합합니다.
SUM(OFFSET( 원본!$A2 , 0 , 1 , 1 , 원본!$A2-1 ))
아.. 이해가 되셨으면 좋겠어요.. ㅠ_ㅠ

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)