시간을 아껴주는 엑셀 꿀팁 > 엑셀 수식에 @(암시적 교차 연산자)가 표시되는 이유

엑셀 수식에 @(암시적 교차 연산자)가 표시되는 이유

엑셀 2021 이상 또는 Microsoft 365 버전 엑셀을 사용할 때 수식에 @가 붙는 경우가 있습니다.

Microsoft 홈페이지에서는 @를 암시적 교차 연산자라고 부르고 있습니다.

암시적 교차 연산자 @는 다음과 같이 작동합니다.

  • 값이 단일 항목인 경우 하나의 항목을 반환.
  • 값이 범위인 경우 수식과 동일한 행 또는 열의 셀에서 값을 반환.
  • 값이 배열인 경우 왼쪽 위 값을 반환.

위의 말을 다시 정리하면 @는 여러 값을 하나의 값으로 반환해주는 기능을 한다고 할 수 있습니다.

알듯 말듯... 위의 설명으로는 잘 이해가 안됩니다. 몇 가지 예로 암시적 교차 연산자 @에 대해 알아보겠습니다.

 

수식에 @가 붙지 않는 경우

엑셀 2021 이전 버전에서 다음과 같은 자료에서 판매 금액을 [D2:D6] 범위에 한 번에 구하려면 [D2:D6] 범위를 선택한 후 다음과 같이 배열 수식을 입력하여 구할 수 있습니다.

=B2:B6*C2:C6 Ctrl+Shift+Enter {=B2:B6*C2:C6}

수식에 @가 붙지 않는 경우
<엑셀 2010 버전>

엑셀 2010 버전에서 작성한 위의 엑셀 파일을 엑셀 2021 이상 버전(Microsoft 365 엑셀 버전 포함)에서 열면 당연히 엑셀 2010 버전에서 작성한 것과 동일한 수식으로 표현되고, 명시적으로 배열을 반환하도록 작성된 경우이므로 수식에 @가 붙지 않습니다.

수식에 @가 붙지 않는 경우
<Microsoft 365 버전>

 

수식에 @가 붙는 경우

엑셀 2010 버전에서 [D2] 셀에 입력한 수식과 같은 수식을 [F2] 셀에 입력하고 Ctrl+Shift+Enter를 입력하지 않고 Enter만 입력해 보겠습니다.

=B2:B6*C2:C6 

수식에 @가 붙는 경우
<엑셀 2010 버전>

배열 수식과 달리 결과가 하나만 반환됩니다.

이번에는 엑셀 2021 이상 버전(또는 Microsoft 365)에서 [D2] 셀에 입력한 수식과 같은 수식을 [F2] 셀에 입력하고 Ctrl+Shift+Enter를 입력하지 않고 Enter만 입력해 보겠습니다.

=B2:B6*C2:C6 

수식에 @가 붙는 경우
<Microsoft 365 버전>

엑셀 2010 버전과 같은 방법으로 수식을 입력했는데 결과가 다릅니다. [F2:F6] 범위에 값이 한번에 여러 개가 반환됩니다. 엑셀 2021 이상 버전부터 지원되는 동적 배열 수식 기능 때문에 그렇습니다.

같은 방법으로 수식을 입력했는데 엑셀 2021 이상 버전에서는 결과가 달라지는 문제를 해결하기 위해서 Microsoft에서는 수식 앞에 암시적 교차 연산자 @를 붙이면 값이 한 개만 출력되도록 했습니다. 다음과 같이 @를 붙여서 수식을 입력하면 여러 범위를 참조해도 값을 하나만 반환해 줍니다.

=@B2:B6*@C2:C6

수식에 @가 붙는 경우
<Microsoft 365 버전>

만약 엑셀 2010 버전에서 =B2:B6*C2:C6 와 같이 수식을 입력하고 엑셀 2021 이상 버전(Microsoft 365 엑셀 버전 포함)에서 파일을 열면 위와 같이 수식에 @가 붙어 있습니다.  엑셀 2010 버전에서 의도한 대로 수식이 작동하도록 강제로 @가 붙습니다.

 

수식에 @가 붙는 또 다른 경우

다음과 같이 엑셀 2021 이전 버전에서 작성된 INDEX 함수, OFFSET 함수, 사용자정의 함수가 여러 셀 범위를 반환할 수 있는 경우에 암시적 교차 연산자 @가 붙을 수 있습니다.

2021 이전 버전 엑셀 2021 이상 버전(Microsoft 365 포함) 비고
=INDEX(A2:A6,K1) =@INDEX(A2:A6,K1) K1의 값이 0 또는 생략되는 경우 배열 또는 범위를 반환할 수 있므로 암시적 교차가 발생할 수 있음
=INDEX(A2:A6,3) =INDEX(A2:A6,3) 수식 변경 없음, INDEX 함수의 2번째 인수가 2이므로 배열 또는 범위를 반환하지 않으므로 암시적 교차가 발생하지 않음
=OFFSET(A1:A2,1,1) =@OFFSET(A1:A2,1,1) OFFSET 함수는 다중 셀 범위를 반환할 수 있으므로 암시적 교차가 발생 할 수 있음
=TEST_FUNCTION() =@TEST_FUNCTION() 사용자 정의 함수는 배열을 반환할 수 있으므로 암시적 교차가 발생할 수 있음

 

엑셀웍스 책 출간 안내

그동안 엑셀웍스에 올린 '엑셀 강좌', '함수 사용법', 여러 '실무 예제'에서 핵심만 뽑아 '된다! 엑셀 수식 & 함수' 책으로 출간하였습니다.

엑셀웍스 책 출간안내  자세히 보기

온라인 구매처: 예스24   교보문고   알라딘 

댓글 남기기

Scroll to Top