들어가기 전에
엑셀의 이중 대괄호 [[ ]]는 표 구조에서 여러 요소를 하나의 참조로 결합하기 위해 사용됩니다. 특히 #Totals, #Headers 같은 테이블 지정자와 특정 열 이름을 함께 참조하거나, 여러 열 범위를 지정할 때 사용합니다. 이 방식은 셀 주소 대신 열 이름을 사용해 수식을 더 읽기 쉽고 유지보수하기 쉽게 만들어 줍니다.

이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: I never knew what those double brackets in Excel meant — now I use them in almost every formula
- URL: https://www.makeuseof.com/double-brackets-in-excel/
개요
대괄호 안에 또 다른 대괄호, 샵 기호(#), 콜론(:), 그리고 열 이름으로 가득 찬 수식을 본 적이 있을 겁니다. 공유 시트나 다른 사람의 통합 문서인 경우, 무슨 내용인지 해독하려고 애쓰기보다는 그냥 무시하고 넘어가는 게 일반적인 생각이죠.
하지만 처음 생각만큼 복잡하거나 이해하기 어려운 것은 아닙니다. 엑셀에서 이중 대괄호를 사용하면 표의 여러 구성 요소를 하나의 수식으로 결합할 수 있습니다. 엑셀 표를 자주 사용하다 보면 이중 대괄호의 작동 방식을 이해하는 것이 선택 사항이 아니라 필수적이라는 것을 금방 알게 됩니다. 바로 이 기능 덕분에 고급 수식을 더 쉽게 읽고 활용할 수 있게 되는 것입니다.
Excel에서 [[ ]]의 논리

이중 대괄호를 이해하기 전에, 엑셀 표가 일반 스프레드시트 범위와 어떻게 다른지 알아야 합니다. 데이터 범위를 엑셀 표로 변환하면( Ctrl + T 또는 삽입 -> 표 ) 엑셀은 더 이상 열 문자나 행 번호로 인식하지 않습니다. "G열" 대신 "주문 ID"로 인식하기 시작합니다.
각 열에는 이름이 지정되며, 작성하는 모든 수식은 해당 이름을 직접 참조할 수 있습니다. 이러한 시스템을 구조적 참조라고 하며 자동으로 조정됩니다. 표에 새 행을 추가하면 해당 행을 참조하는 수식에 새 데이터가 자동으로 반영되어 별도의 입력이나 수동 업데이트가 필요하지 않습니다.
이중 대괄호는 단일 표현식에서 테이블의 여러 구성 요소를 참조해야 할 때 사용됩니다. [[ ]]를 배송 컨테이너처럼 생각해 보세요. 바깥쪽 대괄호는 특정 구성 요소를 함께 묶어 Excel이 서로 관련 없는 기호들의 나열이 아니라 하나의 통합된 명령으로 인식할 수 있도록 합니다. 구조화된 참조에서 지정자가 다른 지정자 안에 중첩되어 있는 경우, 바깥쪽 대괄호는 Excel이 "이 구성 요소들은 함께 있어야 합니다."라고 말하는 방식입니다.
테이블 구성 요소 결합([[#지정자], [열]])

엑셀 표에는 특정 부분을 지정할 수 있는 미리 정의된 레이블인 특수 항목 지정자가 내장되어 있습니다. 주요 항목 지정자로는 #모두, #데이터, #머리글, #합계가 있으며, 각각 표의 서로 다른 가로 영역을 가리킵니다.
| #All | 표 전체(머리글, 데이터 및 합계) |
| #Data | 데이터 행만 |
| #Header | 헤더 행만 |
| #Totals | 전체 행만 |
이러한 지정자는 단독으로 사용해도 이미 유용하지만, 특정 열 이름과 함께 사용하면 훨씬 더 유용해집니다. 예를 들어 SalesTable이라는 테이블이 있고 하단에 합계 행이 활성화되어 있다고 가정해 보겠습니다. 총 이익 열에서 총합계를 가져오려면 다음과 같은 수식을 사용하면 됩니다.
=SalesTable[[#Totals], [Total profit]]
바깥쪽 괄호는 참조 대상(#Totals와 Total Profit)을 하나의 주소로 묶어줍니다. 이 바깥쪽 괄호가 없으면 Excel은 두 개의 개별 요소를 가리키는지 아니면 하나의 결합된 위치를 가리키는지 구분할 수 없습니다.
헤더에도 동일한 논리가 적용됩니다. 열 이름을 표시해야 하는 동적 보고서를 작성할 때 유용한 열 맨 위의 텍스트 레이블을 반환하는 수식을 만들려면 다음과 같이 작성하면 됩니다.
=SalesTable[[#Headers], [Total Profit]]
이 함수는 헤더 행의 "총 이익"이라는 텍스트를 그대로 반환합니다. 나중에 해당 열의 이름을 "순이익"으로 변경하면 이 수식을 참조하는 모든 셀의 결과가 자동으로 업데이트됩니다.
참조 범위([[Column1]:[Column2]])

때로는 더 큰 수식이나 동적 배열에 사용할 인접한 열 블록이 필요할 때가 있습니다. 일반 스프레드시트에서는 A:E와 같이 작성할 수 있습니다. 표에서는 콜론으로 구분하고 대괄호로 묶은 열 이름을 사용합니다.
=SalesTable[[Region]:[Order Priority]]
이는 Excel에게 지역 열부터 주문 우선순위 열까지의 모든 데이터를 하나의 연속된 데이터 블록으로 처리하도록 지시합니다. 바깥쪽 대괄호는 명확한 경계 역할을 하므로 Excel이 콜론을 표 이름의 일부가 아닌 열 범위의 일부로 혼동하지 않도록 합니다.
이 기능은 특히 최신 동적 배열 함수 에서 유용합니다 . A2:E500과 같이 범위를 하드코딩하고 테이블 크기가 커질 때마다 업데이트해야 하는 대신, 이 구문을 사용하면 행 수가 얼마나 추가되든 관계없이 전체 열 범위를 자동으로 확장할 수 있습니다.
[[ ]]를 사용하여 Excel 수식 작성

일상적인 업무에서 이중 대괄호를 가장 흔하게 접하게 되는 곳 중 하나는 계산 열이며, 특히 @ 기호가 공백이 포함된 열 머리글과 함께 나타날 때 그렇습니다.
@ 기호는 "이 행에만 적용"을 의미합니다. 엑셀 표에서 작업할 때 전체 열이 아닌 현재 행에만 수식을 적용하고 싶을 때 @ 기호를 사용합니다. 예를 들어, "계산된 매출"이라는 새 열을 추가한다고 가정해 보겠습니다. 현재 작업 중인 행에 대해서만 "판매량"에 "단가"를 곱하고 싶다면 다음과 같이 수식을 작성합니다.
=[@[Units Sold]] * [@[Unit Price]]
@ 기호는 Excel에게 "100개 행으로 이루어진 전체 열을 평가하지 말고, 이 특정 행의 값만 사용하세요."라고 지시합니다. 열 이름에 공백이 포함되어 있기 때문에 Excel은 각 이름을 하나의 참조로 유지하기 위해 대괄호로 묶습니다. 그런 다음 바깥쪽 구조에서 @ 기호와 열 이름을 함께 묶어 Excel이 이를 하나의 일관된 명령으로 처리하도록 합니다. 이러한 구조가 없으면 Excel은 "Units"와 "Sold"를 별개의 값으로 해석하여 #VALUE! 오류가 발생하는데, 이는 Excel에서 가장 골치 아픈 오류 중 하나입니다.
이 패턴을 이해하고 나면 다음과 같은 공식이 훨씬 더 쉽게 다가올 것입니다.
=[@[Total Profit]] / SalesTable[[#Totals], [Total Profit]]
여기서 분자 는 현재 행의 총 이익 값을 가져오고, 분모는 총 이익 열 맨 아래에 있는 합계 행의 총합계를 가져옵니다. 이 공식은 해당 행이 전체 총 이익에 얼마나 기여하는지 계산합니다.
마치며
이중 대괄호는 보기보다 훨씬 간단합니다. 엑셀에서 위치와 열 이름을 하나의 깔끔한 패키지로 묶는 방법이라는 것을 이해하고 나면, 오히려 수식을 더 읽기 쉽게 만들어준다는 것을 알게 될 것입니다. 시트 내용이 변경될 때마다 바뀌는 셀 좌표를 신경 쓰는 대신, 표의 변화와 상관없이 항상 의미를 유지하는 명명된 참조를 사용하게 됩니다. 더욱 중요한 것은, 수식이 고정된 위치가 아닌 이름을 기반으로 구축되기 때문에 감사가 훨씬 쉬워지고 데이터 변경에 대한 복원력이 훨씬 강해진다는 점입니다.
'Excel' 카테고리의 다른 글
| 시간을 엄청나게 절약할 수 있게 해주는 엑셀의 새로운 함수 6가지 (0) | 2026.10.06 |
|---|---|
| 엑셀 활용을 방해하는 6가지 잘못된 상식 (0) | 2026.10.01 |
| 구글 시트를 수년간 사용해 왔지만 여전히 놀라운 기능들 (0) | 2026.09.29 |
| 시도해 볼 만한 실용적인 엑셀 프로젝트 3가지 (0) | 2026.09.28 |
| 데이터를 손상시키는 엑셀 수식, 해결 방법을 알려드립니다 (0) | 2026.09.23 |