728x90

배열을 프로그래밍에서는 한가지 변수 혹은 표시로 여러개의 데이터를 나타내는 방식입니다.

엑셀에서 배열은 한개의 함수나 셀에 여러가지 값이 들어가는 것을 이야기 합니다.

엑셀의 셀에는 보통 한칸에 하나의 데이터만 들어갈 수 있습니다.

 

 

 

1. 배열 입력하기

 

배열을 상수로 입력하는 방법은 {} 중괄호입니다.

={1,2,3} 으로 입력하고 Alt+Shift+Enter로 입력하면 맨 앞의 숫자만 보이지만 안에는 3글자가 들어갑니다.

Alt+Shift+Enter를 사용하면 수식창을 통해서 {배열}으로 표기됩니다.

이 배열상태로 계산하는 것을 "배열 함수"라고 부릅니다.

이건 사실 행렬과 같습니다. 쉼표(,)와 세미콜론(;)으로 구별되는데요.

={1,2,3;4,5,6;7,8,9} 라고 표기하면 행렬을 하나 작성한 것입니다.

 

320x100

 

 

2. INDEX 함수로 행렬의 위치 불러오기

 

INDEX 함수는 보통은 Match 함수와 함께 사용해서 조회 함수로 사용 됩니다.

(엑셀 조회 함수 INDEX와 MATCH)

하지만 INDEX의 진짜 기능은 배열을 사용하는 것입니다.

 

INDEX(array, row_num, [column_num]) : 배열에서 한가지 인수를 표시합니다.

  • array : 배열 상수나 셀 범위입니다.
  • row_num : 값을 반환할 배열의 행을 선택합니다.
  • [column_num] : 값을 반환할 배열의 열을 선택합니다. 

 

Index 함수를 사용해서 배열을 표시하는 방식은

=INDEX({1,2,3;4,5,6},2,1)은 행 2, 열 1에 위치한 4가 출력됩니다.

=INDEX({1,2,3;4,5,6},1,2)행 1, 열 2에 위치한 2가 출력됩니다.

다만 INDEX 함수 내에 배열이 있어야지 배열을 사용한 셀을 참조할 수는 없습니다.

 

 

 

3. 함수내에서 배열 활용하기

 

우선 함수내에서 배열을 입력할 수 있습니다. 배열은 한개의 인수로 계산됩니다.

=SUM(1,2,3,4,5,6,7,8,9) → 1~9를 다 더합니다. 인수는 9개

=SUM({1,2,3;4,5,6;7,8,9}) → 1~9를 다 더합니다. 인수는 1개

보통 엑셀의 함수는 인수를 255개를 사용할 수 있음으로 배열은 인수를 절약하는 효과가 있습니다.

하지만 결정적인 것은 연산을 겹칠 수 있습니다.

=SUM({1,2,3;4,5,6;7,8,9}*{1,2,3;4,5,6;7,8,9})를 Alt+Shift+Enter로 입력하면 각 인수들을 곱해서 더합니다.

행렬 계산하고는 다릅니다.

=SUM({1,2,3;4,5,6;7,8,9}*4)라고 입력하면 모든 인수에 4를 곱해서 더합니다.

다른 연산함수를 사용하면 해당 함수의 기능으로 연산합니다.

배열을 계산하려면 입력할 때 Alt+Shift+Enter로 입력 하여야 합니다.

 

 

4. 배열을 만드는 함수 - SEQUENCE

 

배열을 만들어 주는 함수가 있습니다.

등차수열 방식으로 원하는 배열을 만들어주는 Sequence 함수입니다.

 

SEQUENCE(rows, [columns], [start], [step]) : 시작 숫자(start)부터 Step 만큼 커지는 배열을 만듭니다.

 

  • rows : 배열의 행의 수 입니다.
  • [columns] : 배열의 열의 수 입니다.
  • [start] : 시작하는 수 입니다.
  • [step] : 칸마다 증가하는 수 입니다.

 

원하는 갯수의 원하는 간격만큼의 배열을 만들어 냅니다.

예를 들어 =SEQUENCE(3,4,2,4)의 결과는 아래와 같습니다.

 

이걸 사용 하면 많은 양의 데이터도 편하게 만들 수 있습니다.

 

 

5. 연산해서 배열을 반환하는 함수

 

어떤 함수들은 배열 그 자체를 반영합니다. 한 함수로 2가지 이상의 숫자를 출력합니다.

예로 LINEST 함수는 "기울기""절편"을 출력하는데요.

LINEST 함수를 INDEX로 나누어 보면 2가지 숫자를 출력하는 것을 알 수 있습니다.

 

2.117  =INDEX(LINEST(C1:C9,B1:B9),1)

-0.694 =INDEX(LINEST(C1:C9,B1:B9),2)

Index 함수는 두가지 값을 출력합니다.

 

 

 

 

반응형

+ Recent posts