OfficeTutor.com
배움터 나눔터 교육센터 오튜장터
 통합검색  
  Home > 나눔터 > 엑셀 > 묻고답하기
엑셀
워드
액세스
파워포인트
아웃룩
프런트페이지
인포패스
원노트
비지오
쉐어포인트
포토드로우
퍼블리셔
오피스공통
MVP 안내
MVP 명예의 전당
MVP 카페

 

 

 

 
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 조삿갓 (choga21)

추천:  2
파일:     조회:  186
제목:   [강좌] 배열의 기초와 Array 함수
     
  1) 배열이란 번호가 붙은 변수입니다. 동일한 성격의 자료가 여러 개 존재하고,
   그 자료 집합에 대해 일정한 처리를 하려고 할 때 유용한 방법이지요.
   예를들어 한 학급 20명의 성적을 계산한다면
     Dim S(20) As Integer
   와 같이 대표 이름과 필요한 개수를 정하여 선언해 주고 
   1번 학생의 점수는 S(1), 2번 학생의 점수는 S(2)와 같이 쓸 수 있습니다.

2) 그런데 사실, 베이식을 비롯한 거의 모든 언어에서 배열을 지원하는데
   컴퓨터의 동작 특성상 위와 같이 선언하면 실제로는 21개의 저장공간이 만들어집니다.
   S(0) 즉, 번호를 1번부터가 아닌 0번부터 시작하기 때문이지요.

3) 물론 베이식에서는
     Dim S(1 To 20) As Integer
   와 같이 선언함으로써 0번이 생기는 것을 막고 1번부터 20번까지만 쓸 수 있습니다만
   저처럼 C, Pascal 등 고급언어들을 섭렵한 프로그래머들은
   차라리 0번을 그냥 쓰지 않은 채 내버려 두거나
   다른 목적으로 활용(만점을 저장하거나 총점을 저장하는 등)하는 기법을 좋아하고
   1 To 20과 같은 첨자 제한은 좀 회피하는 경향이 있답니다.

4) Dim 명령으로 배열을 선언하면 일단 모든 배열 원소들은 0으로 값이 초기화됩니다.
   거기에 각각 어떤 값을 대입하는 것은
      S(n) = 80
   과 같이 일일이 대입해 주어야 하고,
   반복 루프를 돌려서 파일에서 읽어오거나 해야 하지요.

5) 그런데 Array 함수는 배열 공간을 만들고 초기값까지 동시에 대입하는 편리한 함수입니다.
   단, 이 함수를 사용하려면 먼저 배열의 대표이름만 Dim 명령으로 선언하되
   Variant형 변수로 선언해야 합니다. 즉, 다음과 같이 사용합니다.
      Dim rBase As Variant
      rBase = Array(0, 20, 30, 120, 140, 110, 50, 20)
   이렇게 하면, Array 함수의 매개변수 값들이 차례대로
      rBase(0)=0, rBase(1)=20, rBase(2)=30, ...
   과 같이 초기화됩니다.
   Array 함수로 생성되는 배열은 무조건 0번부터 시작하고
   시작번호를 임의로 조정할 방법은 없습니다.

6) 활용 예
      Dim season As Variant
      Dim MonName As Variant
      season = Array(“봄”, “여름”, “가을”, “겨울”)
      MonName = Array(“Jan", "Feb", "Mar", "Apr", "May", "Jun", _
                            "Jul", "Aug", "Sep", "Oct", "Nov", "Dec”)
   단, MonName(0)이 1월이 되는 어색함을 피하려면
      MonName = Array("",“Jan", "Feb", "Mar", "Apr", "May", "Jun", _
                            "Jul", "Aug", "Sep", "Oct", "Nov", "Dec”)
   와 같이 정의하여 0월을 버리면 되지요.
 
[불량 게시물 신고]  
이정열이렇게 쉽게 설명이 가능하다니 대단하십니다.
array와 rnd 함수를 그렇게 검색을 해봐도 이렇게 머리에 꽂히는 강좌는 본적이 없네요.
정말 감사합니다.
10-13 (17:00)
삭제 ■신고
조삿갓감사합니다.
제가 쫌 한 강좌 하죠 ^^
10-19 (16:35)
삭제 ■신고
        
  

작성일 : 2017-10-12(22:13)
최종수정일 : 2017-10-12(22:19)
 


 ◎ 관련글

  제 목   작성자   날짜
엑셀 vba array함수와 rnd 함수 질문입니다. 이정열 2017-10-12
[강좌] 배열의 기초와 Array 함수 조삿갓 2017-10-12
[강좌] RND 함수 정복하기 조삿갓 2017-10-12

 
 
회사소개 | 이용약관 | 개인정보 처리방침 | 회원정보수정 | 교육신청 및 문의 | 이메일무단수집거부 위로

오피스튜터 블로그 오피스튜터페이스북 오피스튜터유투브
110-722 서울 종로구 세종대로23길 47, 601-74 ㈜오피스튜터 ☎1544-4102 대표이사 : 전경수
개인정보관리책임자 : 이희진(privacy@officetutor.com) 사업자등록번호 120-86-14501
통신판매업신고 2013-서울종로-0547
norton
Copyright ⓒ OfficeTutor.com 이 페이지의 저작권은 ㈜오피스튜터와 콘텐츠 제공자에게 있습니다. 무단 복제를 금합니다.
Microsoft 및 Office 로고는 미국, 대한민국 및/또는 기타 국가에서의 Microsoft Corporation 등록 상표 또는 상표입니다.