들어가기 전에
Excel의 배열 상수(Array Constant)는 하나의 수식으로 여러 계산을 수행할 수 있는 강력한 도구입니다. 배열 상수를 사용하면 길고 반복적인 수식을 사용할 필요가 없으며, 실수로 데이터가 변경될 위험도 없습니다. 배열 상수의 핵심만 간략하게 설명하고 실제 상황에서 사용하는 방법을 소개합니다.
이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: Everything You Need to Know About Array Constants in Excel
- URL: https://www.howtogeek.com/microsoft-excel-array-constants-everything-you-need-to-know/
Excel의 배열 상수 기본 개념
배열 상수는 수식에 입력된 정적 값들의 하드코딩된 집합으로, 중괄호로 둘러쌉니다. 간단한 예로 다음과 같이 입력합니다.
={10,20,30,40}
A1 셀에 입력하고 Enter를 누르면 셀 A1에 10, 셀 B1에 20, 셀 C1에 30, 셀 D1에 40의 동적 배열이 반환됩니다.

위의 예에서 동적 배열 결과는 배열 상수의 각 값 사이에 쉼표를 사용했기 때문에 수평(열)으로 분산됩니다. 동적 배열은 수식이 입력된 셀에서 인접한 셀로 확장되는 배열입니다 . 이를 스필링(spilling)이라고도 합니다. 배열 상수는 정적 값 집합이지만, 이러한 스필링 동작이 있는 수식에서 사용될 경우 동적 배열의 일부가 될 수 있습니다.
반면, 배열 상수의 값 사이에 세미콜론을 사용하면 수직 동적 배열(행 단위)이 반환됩니다.
={10;20;30;40}

배열 상수에서 쉼표와 세미콜론을 결합하여 2차원 동적 배열을 반환할 수도 있습니다.
={10,20;30,40}

참고 영상:
이전과 다르게 작동하는 배열 상수
2021년 이후의 Excel 일회용 버전, Microsoft 365용 Excel, 웹용 Excel은 모두 동적 배열 수식을 지원합니다. 즉, 여러 값을 예상하는 수식에 배열 상수를 입력하고 Enter 키를 누르면 결과가 인접 셀로 확장되고, 왼쪽 위 셀에만 수식이 포함됩니다.
하지만 동적 배열 수식을 지원하지 않는 이전 버전의 Excel에서는 결과를 표시할 모든 셀을 선택하고 수식을 입력한 후 Ctrl + Shift + Enter를 눌러 적용해야 합니다. 그러면 선택한 모든 셀에 동일한 수식이 나타납니다. 이를 CSE 또는 레거시 배열 수식이라고 합니다.
이 글에서 사용된 모든 예는 동적 배열 수식을 지원하는 Excel 버전의 배열 상수를 참조합니다.
Excel 함수와 함께 배열 상수 사용
Excel에서 배열 상수는 함수와 함께 사용할 때 가장 유용합니다. 여러 개의 긴 수식을 입력할 필요가 없기 때문입니다. 다음은 두 가지 예시 시나리오입니다.
배열에서 여러 기준을 충족하는 값의 개수 세기
T_TaskLog라는 Excel 테이블 이 있다고 가정해 보겠습니다. 그리고 상태가 Complete, Pending 또는 Pitched인 작업의 수를 알아내려고 합니다.

배열 상수 없이 이 작업을 수행하려면 다음 수식을 입력할 수 있습니다(읽기가 쉽도록 여러 줄로 나눔).
=COUNTIF(T_TaskLog[Status], "Complete") +
COUNTIF(T_TaskLog[Status], "Pending") +
COUNTIF(T_TaskLog[Status], "Pitched")
여기서 세 개의 별도 COUNTIF 수식의 결과는 + 연산자를 사용하여 함께 추가됩니다.

하지만 이 공식은 길고 분석하기 어렵습니다. 대신 배열 상수를 사용하여 모든 조건을 하나의 인수로 그룹화할 수 있습니다. 먼저 함수 이름, 여는 괄호, 계산할 범위를 입력하고 쉼표를 입력합니다. 그런 다음, 기준에 대해 세 가지 상태 값을 모두 중괄호로 묶은 배열 상수로 입력합니다. 그런 다음 닫는 괄호를 추가하고 Enter 키를 누릅니다.
=COUNTIF(T_TaskLog[Status], {"Complete", "Pending", "Pitched"})
Excel은 세 개의 개별 결과를 동적 배열로 반환합니다. Complete 에 대해 3개 , Pending 에 대해 2개 , Pitched 에 대해 2개입니다. 이는 아직 Excel에 결과를 더하도록 설정하지 않았기 때문입니다.

이 문제를 해결하려면 전체 수식을 SUM 함수 안에 넣고 Enter 키를 누릅니다.
=SUM(COUNTIF(T_TaskLog[Status], {"Complete", "Pending", "Pitched"}))

더하기 기호로 구분된 세 개의 별도 COUNTIF 수식을 사용하여 세 가지 텍스트 조건을 계산하는 대신, 배열 상수를 사용하면 Excel에서 각 조건에 대해 한 번씩 계산을 세 번 수행하고 SUM 함수를 통해 결과를 모두 더합니다.
범위에서 상위 x 값 찾기
이 예에서는 T_Profits 라는 테이블에서 상위 3개 수익을 별도의 배열로 반환하려고 한다고 가정해 보겠습니다.

이를 수행하는 한 가지 방법은 세 개의 별도 셀에서 LARGE 함수를 사용하는 것입니다. 각각의 셀에 다음과 같은 수식을 입력합니다.
=LARGE(T_Profits[Profit], 1)
=LARGE(T_Profits[Profit], 2)
=LARGE(T_Profits[Profit], 3)

그런 다음 XLOOKUP 함수를 사용하여 가장 높은 수익을 올린 세 개의 매장 ID를 검색할 수 있습니다.
=XLOOKUP(E2:E4, T_Profits[Profit], T_Profits[Shop])

하지만 연결되지 않은 세 개의 개별 수식을 입력하면 시간이 오래 걸리고 오류가 발생하기 쉽습니다. 대신, LARGE 함수와 함께 배열 상수를 사용하면 단일 수식으로 동일한 결과를 얻을 수 있습니다.
=LARGE(T_Profits[Profit], {1;2;3})
이 수식은 LARGE 함수를 세 번 적용합니다. 첫 번째는 가장 큰 값을 반환하고, 두 번째는 두 번째로 큰 값을, 세 번째는 세 번째로 큰 값을 반환합니다. 배열 상수의 각 숫자 사이에 세미콜론을 사용했기 때문에 세 가지 결과를 수직 동적 배열로 반환합니다.

만약 배열 상수를 사용하지 않고 가장 큰 세 가지 이익을 합산하려면 더하기 기호로 구분하여 LARGE 함수를 세 번 입력해야 합니다.
=LARGE(T_Profits[Profit],1) + LARGE(T_Profits[Profit],2) + LARGE(T_Profits[Profit],3)
하지만 SUM 함수와 함께 배열 상수를 사용하면 수식이 훨씬 더 깔끔해집니다.
=SUM(LARGE(T_Profits[Profit], {1,2,3}))

게다가, 네 번째로 큰 이익을 계산에 포함하려면 전체 함수를 입력하는 대신 수식에 쉼표와 숫자 4만 추가하면 됩니다.
=SUM(LARGE(T_Profits[Profit], {1,2,3,4}))
Excel에서 배열 상수 이름 지정
Excel에서 동일한 정적 값 집합을 반복해서 사용하는 경우 배열 상수에 이름을 지정하면 매번 수동으로 입력할 필요가 없습니다.
(1) [수식] 탭 - [정의된 이름] 그룹 - [이름 관리자]를 클릭합니다.
(2) 이름 관리자 대화 상자에서 "새로 만들기"를 클릭합니다.
(3) 적당한 이름(여기서는 '요일')을 입력하고, 참조 대상에는 다음과 같이 입력합니다.
={"월","화","수","목","금","토","일"}

(4) [확인]을 클릭합니다. 이제 통합 문서에서 이 배열 상수를 사용하려면 등호를 입력한 후 방금 지정한 이름을 입력하고 Enter 키를 누릅니다.

다른 예제를 하나 더 보도록 하죠. 앞에서 소개한 방식으로 Fives라는 이름의 배열 상수를 다음과 같이 정의합니다.
={5,10,15,20}
A1 셀의 값을 이 명명된 배열 상수로 곱하면 네 가지 결과가 생성됩니다.
=A1*Fives

Excel에서 배열 상수를 사용할 때 주의할 점
Excel에서 배열 상수를 사용하면 많은 이점이 있지만, 꼭 알아두어야 할 몇 가지 규칙과 제한 사항이 있습니다.
- 동적 배열 수식은 구조화된 테이블 열로 스필링될 수 없으므로, 다중 셀 결과를 생성하는 배열 상수는 일반 셀에서만 사용할 수 있습니다. 하지만 배열 상수 자체는 테이블 내의 데이터에 적용될 수 있습니다.
- 배열 상수는 큰따옴표로 묶인 텍스트, 일반 숫자(통화 기호나 퍼센트 기호 제외), 또는 쉼표와 세미콜론 구분 기호로 구분된 부울 값 (TRUE 및 FALSE)만 포함할 수 있습니다. 셀 참조, 다른 배열, 수식 또는 와일드카드는 포함할 수 없습니다.
- 배열 상수에서는 셀을 참조할 수 없으므로 모든 값을 하드코딩해야 합니다(이름이 배열 상수인 이유 ). 따라서 배열 상수를 포함하는 수식은 그렇지 않은 수식보다 유연성이 떨어집니다.
- Excel에 익숙하지 않은 사람들과 통합 문서를 공유할 계획이라면 배열 상수로 인해 발생하는 블랙박스 효과에 유의해야 합니다. 즉, 배열 상수의 계산 과정은 표준 수식보다 투명성이 떨어지기 때문에 배열 논리에 익숙하지 않은 사람들은 스프레드시트의 작동 방식을 이해하는 데 어려움을 겪을 수 있습니다.
- 경우에 따라 동적 배열 함수를 사용하는 것이 배열 상수를 사용하는 것보다 더 효율적입니다. 예를 들어, {1,2,3}과 같은 상수를 입력하는 대신 SEQUENCE 함수를 사용하여 동일한 결과를 얻을 수 있습니다.
- 동적 배열이 도입되면서 Excel에서 배열 상수를 처리하는 방식이 크게 바뀌었기 때문에 최신 버전에서 만든 Excel 파일을 이전 버전에서 열면 분산된 배열이 CSE(Ctrl + Shift + Enter) 수식으로 변환됩니다.
마치며
배열 상수는 기본적으로 동적 배열을 반환하지 않는 Excel 함수의 인수로 사용할 때 특히 유용합니다. 그러나 2021년 이후 Excel 일회용 버전, Microsoft 365용 Excel, 웹용 Excel에서 제공되는 동적 배열 함수는 여러 값을 특정 셀 범위에 반환하도록 특별히 설계되었습니다. 이러한 특수 함수의 예로는 FILTER, SORT, SORTBY, UNIQUE, XLOOKUP 등이 있습니다.
'Excel' 카테고리의 다른 글
| 수식 작성 방식을 바꿔 놓을 Excel 기호 하나 (0) | 2026.04.07 |
|---|---|
| 피벗 테이블로 고생하기 전에 이 Excel 함수를 알았더라면 (0) | 2026.04.03 |
| Excel에서 여전히 IF를 중첩 사용하고 있다면 이제 이렇게 하세요 (0) | 2026.03.31 |
| 모르고 있었지만 꼭 필요한, 최고의 시간 절약 MS Office 팁 6가지 (0) | 2026.03.27 |
| 엑셀의 #SPILL! 오류를 간단히 해결하는 5가지 방법 (0) | 2026.03.26 |
