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

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

동적차트 질문드리겟습니다.

차트 조회 수 4438 추천 수 0 2013.05.30 10:47:43

vba를 사용하지않고 차트를 만들어보려구하는데요


양식컨트롤 체크박스의 값이 false 인 값은 차트에 데이터가 안뜨게 하고싶습니다..


제가 지금 만들어놓은 파일은 데이터가 뜨지는 않습니다.. 하지만 그 false인 자리가 공백으로 남아있습니다.ㅠㅠ


어떻게 해야하나요?


댓글 '5'

profile

[레벨:30]아별

2013.05.30 15:22:49
*.104.126.21

신강현님..

2개월만이시네요.. ^^


음.. 지금 만드신 것은 동적차트는 아닌 것 같네요..

보통 동적 차트라고 하면.. 특정 조건에 따라 데이터 범위가 바뀌는 것을 말하는데,

신강현님의 차트는 데이터 영역이 고정으로 되어 있습니다.


체크하지 않은 항목은 제외하고 표시하기 위해서...

배열 수식을 이용해서 체크항목이 있는 것만 위에서부터 정렬시켰습니다. (데이터가 바뀌면 자동으로 다시 정렬됩니다.)

{ =INDEX($F$2:$F$12,SMALL(IF(상품목록<>"",ROW(상품목록)-ROW($H$2)+1,9999999999),ROW(A1))) }


그런 다음.. Offset함수를 사용하여 체크항목이 있는 부분만 대상이 되도록 영역이름을 설정했습니다.


차트항목 : =OFFSET(Sheet1!$K$2,0,0,COUNTIF(Sheet1!$G$2:$G$12,TRUE),1)

차트값 : =OFFSET(Sheet1!$L$2,0,0,COUNTIF(Sheet1!$G$2:$G$12,TRUE),1)


위에서 지정한 영역 이름을 가지고 차트를 구성했습니다.


첨부파일을 참고하시기 바랍니다.


감사합니다.


다운받기 : abyul.com_QnA_20130530_DynamicCharts_1.xlsx



[ 미리보기 ]


abyul.com_0000943.jpg



첨부

[레벨:4]신강현

2013.05.30 18:54:58
*.218.33.33

이게 어떻게 정렬이 되는건지 이해가 안가요.ㅠㅠㅠ

[레벨:4]신강현

2013.05.30 17:26:11
*.218.33.33

ㅎㅎ 그러게요!! 오랜만이네요!! ㅎㅎ

vba만 계속 만지다보니 함수쪽이 약하더라구요.ㅠㅠ 그래서 한번 호기심에 만들어보고싶어서 질문올렷구요!!

INDEX($I$2:$I$12,SMALL(IF(상품목록<>"",ROW(상품목록)-ROW($H$2)+1,9999999999),ROW(A1)))


이부분에서 ROW(상품목록)-ROW($H$2)+1,9999999999),ROW(A1)))

이부분이 이해가 안사네요 .ㅠㅠㅠ

profile

[레벨:30]아별

2013.05.31 11:32:10
*.104.126.21

신강현님..

혹시 배열 수식을 알고 계신가요?

배열 수식에 대한 정보는 아래 게시물을 참고하세요..

http://www.abyul.com/zbxe/64537


암튼.. 수식에 대해서 부연 설명을 드리겠습니다.


우선.. 데이터를 정렬하는 수식 전체입니다.


{ =INDEX($F$2:$F$12,SMALL(IF(상품목록<>"",ROW(상품목록)-ROW($H$2)+1,9999999999),ROW(A1))) }


요약하면 아래와 같죠..

전체 상품목록($F$2:$F$12)에서 몇번째 값을 갖고 오라는 수식이구요..

몇번째는 값이 들어있는 것만 골라내야합니다. 뒤에서 배열 수식을 설명할께요..

=INDEX($F$2:$F$12, 몇번째)


몇번째에 해당하는 수식이 아래입니다. 값이 있는 것만 골라내는 배열 수식이지요..

SMALL(IF(상품목록<>"",ROW(상품목록)-ROW($H$2)+1,9999999999),ROW(A1))


위 수식을 요약해보면..

SMALL( 행번호로변환배열 ,ROW(A1))

ROW(A1)은 아래로 수식을 복사하면 숫자 1부터 1씩 증가하겠죠.. 1,2,3,4

행번호로변환배열에 해당하는 수식은 아래와 같습니다.

IF(상품목록<>"",ROW(상품목록)-ROW($H$2)+1,9999999999)

상품목록에 있는 셀 값들을 하나씩 비교해가면서 배열을 만들어줍니다.

첫번째 값인 "독일주전자"가 값이 ""가 아니니.. "독일주전자"셀의 행 번호(ROW(상품목록))를 갖고 오겠죠.. 2-2+1 = 1

두번째, 세번째는 공백이니까.. 9999999999값을 가질꺼고.. 

네번째 "하우링 스피커"셀은 공백이 아니니까.. "하우링 스피커"의 행번호 - "독일주전자"의 행번호 + 1 해서.. 5-2+1=4


행번호로변환배열에서 차례로 작은 숫자를 갖고오는겁니다.  즉, 값이 있는 행번호를 작은 순서대로 차례로 갖고 오는 거죠..

행번호로변환배열부분을 수식입력줄에서 마우스로 선택한다음, F9를 누르면 아래와 같은 결과를 볼 수 있습니다.

아래 배열에서 작은 순서대로 갖고 오면, 1, 4, 5, 6, 9, 11, 9999999999이 되겠죠..

{1;9999999999;9999999999;4;5;6;9999999999;8;9999999999;9999999999;11}



정리해보죠..

전체 수식을 정리해보면 아래와 같죠..

핵심은 행번호로변환배열인겁니다.

=INDEX($F$2:$F$12, SMALL( 행번호로변환배열 ,ROW(A1)) )


수식을 값들로 확인해보면..

=INDEX($F$2:$F$12, SMALL( {1;9999999999;9999999999;4;5;6;9999999999;8;9999999999;9999999999;11} ,1) )

위 수식에서 일부를 다시 값으로 바꿔보면..

=INDEX($F$2:$F$12,  {1;4;5;6;8;11;9999999999;9999999999;9999999999;9999999999;9999999999} )



첫번째 항목은 배열에서 가장 작은 숫자 1을 가져와서.. 아래와 같이 됩니다.

=INDEX($F$2:$F$12, 1 )


두번째는 2번째로 작은 값인 숫자 4를 가져와서..

아래와 같이 되구요..

=INDEX($F$2:$F$12, 4 )


이해가 되셨으면 좋겠네요..


[레벨:4]신강현

2013.05.31 18:00:55
*.218.33.33

감사합니다!! 어제 이해가 조금 되엇긴햇는데 미심쩍은 부분이 좀 잇어서 글올렷어요!!ㅎㅎ

이제 완전히 이해가 됫네요!! 답변 감사합니다

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 42719
502 AK18101*2 으로 되어 있는 셀을 빈셀에 AK18101 AK18101 으로 나열하는 방법 [2] 한따까리 2009-10-09 4414
501 도와 주세요~ ^^;; file [1] [레벨:1]papabear 2009-07-17 4412
500 엑셀수식 두 엑셀 파일 비교 file [1] [레벨:1]랄랄라99 2013-08-16 4402
499 피벗테이블 엑셀 작업 중, 질문사항 몇개... _ 피벗테이블 계산 필드, 계산 항목 [3] [레벨:4]나카타 2011-09-16 4393
498 테두리 두께 변경과 색상 입히기 file [2] [레벨:1]최선 2012-01-08 4375
497 엑셀일반 아별을 깔면 이러네요.ㅠ.ㅠ 엑셀 창이 알트텝으로 검색이 안되요 imagefile [2] [레벨:2]큰아빠에요 2012-01-30 4366
496 엑셀일반 셀 병합 후 데이터가 지워지지 않는 방법이 있는지요.. [2] [레벨:3]읍내꽃미남 2011-09-19 4355
495 셀에 입력한 규격 계산. [5] 최선으로 2009-07-10 4350
494 매크로 질문요 [3] [레벨:2]yang1019 2010-04-10 4341
493 VBA [긴급] Range 범위 "A2:A10" -> 를 변수로 받게 하는 방법.. file [3] [레벨:1]마리너 2012-07-05 4338
492 직원현황표에서.. [1] [레벨:1]파이오니어 2009-07-08 4338
491 아별님~ 두번째 질문을 구체적으로 작성했습니다~^^ [5] [레벨:1]리시안샤스 2009-07-27 4322
490 엑셀일반 줄바꿈을 나누기 file [1] [레벨:4]요셉 2013-09-13 4321
489 홍보물 발송 주소록 정리 file 봇대양 2010-06-11 4315
488 엑셀일반 엑셀 작업한 내용이 안보여요. file [5] [레벨:2]시나브로 2012-06-20 4313
487 어제 감사했습니다^^ 하나 더 질문을^^ file [2] [레벨:1]페니 2009-12-17 4310
486 VBA 진행바 응용(다른 메뉴 실행중) _ 작업 진행바 Progress bar file [3] [레벨:5]맑은이슬 2013-02-02 4273
485 풀리지 않는 궁금증에 도움 부탁드립니다. [1] [레벨:0]그린티라떼 2009-08-26 4268
484 서식설정문의. [1] [레벨:1]상희 2009-10-16 4266
483 엑셀일반 엑셀 csv 파일 저장에 관해 질문드려요~ [5] [레벨:0]김수영 2014-11-25 4262