Excel 동적 배열, 함수 및 수식

  • 이 공유
Michael Brown
특정 공식에 있습니다. 즉, 수식이 하나의 값만 반환하도록 하려면 함수 이름 앞에 @를 넣으면 기존 Excel에서 배열이 아닌 수식처럼 작동합니다.

실제 작동 방식을 보려면 아래 스크린샷을 살펴보세요.

C2에는 많은 셀에 결과를 유출하는 동적 배열 수식이 있습니다.

=UNIQUE(A2:A9)

E2에서는 함수 앞에 암시적 교차를 호출하는 @ 문자를 사용합니다. 결과적으로 첫 번째 고유 값만 반환됩니다.

=@UNIQUE(A2:A9)

자세한 내용은 Excel의 암시적 교차를 참조하세요.

Excel 동적 배열의 장점

동적 배열은 의심할 여지 없이 몇 년 동안 Excel에서 향상된 기능 중 하나입니다. 새로운 기능과 마찬가지로 강점과 약점이 있습니다. 운 좋게도 새로운 Excel 동적 배열 수식의 강점은 압도적입니다!

간단하고 더 강력

동적 배열을 사용하면 훨씬 더 간단한 방법으로 더 강력한 수식을 만들 수 있습니다. 다음은 몇 가지 예입니다.

  • 고유 값 추출: 기존 공식

    Excel 365 계산 엔진의 혁신적인 업데이트로 인해 배열 수식은 슈퍼 사용자뿐만 아니라 모든 사람이 매우 간단하고 이해하기 쉬워졌습니다. 이 자습서에서는 새로운 Excel 동적 배열의 개념을 설명하고 워크시트를 보다 효율적이고 훨씬 쉽게 설정할 수 있는 방법을 보여줍니다.

    Excel 배열 수식은 항상 전문가 및 수식의 특권으로 여겨져 왔습니다. 전문가. 누군가 "이건 배열 수식으로 할 수 있다"고 하면 많은 사용자들의 즉각적인 반응은 "아, 다른 방법이 없을까?"입니다.

    동적 배열의 도입은 오랫동안 기다려온 것이며 변화를 환영합니다. 간단한 방법으로 여러 값을 사용할 수 있기 때문에 동적 배열 수식은 모든 Excel 사용자가 이해하고 즐겁게 만들 수 있는 것입니다.

    Excel 동적 배열

    동적 배열 은 단일 셀에 입력된 공식을 기반으로 자동으로 계산하고 여러 셀에 값을 반환하는 크기 조정 가능한 배열입니다.

    30년 이상의 역사를 통해 Microsoft는 Excel은 많은 변화를 겪었지만 한 가지는 변함없이 유지되었습니다. 하나의 수식, 하나의 셀입니다. 기존의 배열 수식을 사용하더라도 결과를 표시하려는 각 셀에 수식을 입력해야 했습니다. 동적 배열에서는 이 규칙이 더 이상 적용되지 않습니다. 이제 값 배열을 반환하는 모든 수식하지 마라. 수식이 여러 값을 반환할 수 있는 경우 기본적으로 그렇게 합니다. 이는 이 예에서 설명하는 산술 연산 및 레거시 함수에도 적용됩니다.

    내포된 동적 배열 함수

    보다 복잡한 작업에 대한 솔루션을 찾기 위해 새로운 Excel 동적 배열 함수를 자유롭게 결합할 수 있습니다. 또는 여기 및 여기에 표시된 것과 같이 이전 참조와 함께 사용하십시오.

    상대 참조 및 절대 참조는 덜 중요합니다.

    "하나의 공식, 많은 값" 접근 방식 덕분에 잠글 필요가 없습니다. 기술적으로 수식이 단 하나의 셀에 있기 때문에 $ 기호로 범위를 지정합니다. 따라서 대부분의 경우 절대, 상대 또는 혼합 셀 참조(경험이 없는 사용자에게 항상 혼란의 원인이 됨)를 사용하는지 여부는 실제로 중요하지 않습니다. 동적 배열 수식은 어쨌든 올바른 결과를 생성합니다!

    동적 배열의 제한 사항

    새로운 동적 배열은 훌륭하지만 모든 새로운 기능과 마찬가지로 알아야 할 몇 가지 주의 사항과 고려 사항이 있습니다.

    결과를 정렬할 수 없음 일반적인 방법

    동적 배열 수식에서 반환된 유출 범위는 Excel의 정렬 기능을 사용하여 정렬할 수 없습니다. 이러한 시도는 " 배열 의 일부를 변경할 수 없습니다" 오류가 발생합니다. 결과를 최소에서 최대로 또는 그 반대로 정렬하려면 현재 수식을 SORT 함수로 묶습니다. 예를 들어 다음과 같이 필터링할 수 있습니다.한 번에 정렬합니다.

    유출 범위의 값을 삭제할 수 없습니다.

    배열의 일부를 변경할 수 없다는 같은 이유로 유출 범위의 값을 삭제할 수 없습니다. 이 동작은 예상되고 논리적입니다. 기존의 CSE 배열 수식도 이 방식으로 작동합니다.

    Excel 테이블에서는 지원되지 않습니다.

    이 기능(또는 버그?)은 상당히 예상치 못한 것입니다. 동적 배열 수식은 Excel 테이블 내에서 작동하지 않고 일반 범위 내에서만 작동합니다. 유출 범위를 테이블로 변환하려고 하면 Excel에서 변환합니다. 그러나 결과 대신 #SPILL만 표시됩니다! 오류.

    Excel 파워 쿼리를 사용하지 마십시오.

    동적 배열 수식의 결과를 파워 쿼리로 로드할 수 없습니다. 예를 들어, 파워 쿼리를 사용하여 둘 이상의 유출 범위를 병합하려고 하면 작동하지 않습니다.

    동적 배열 대 기존 CSE 배열 수식

    동적 배열의 도입으로 동적 배열, 함수 및 수식을 완벽하게 지원하는

    1. 동적 Excel 의 두 가지 유형의 Excel에 대해 이야기할 수 있습니다. 현재는 Excel 365 및 Excel 2021뿐입니다.
    2. 레거시 Excel , 일명 기존 또는 사전 동적 Excel로 Ctrl + Shift + Enter 배열 수식만 지원됩니다. Excel 2019, Excel 2016, Excel 2013 및 이전 버전입니다.

    동적 배열이 모든 측면에서 CSE 배열 수식보다 우수하다는 것은 말할 필요도 없습니다. 전통적인 배열이지만수식은 호환성을 위해 유지되며, 지금부터는 새 수식을 사용하는 것이 좋습니다.

    가장 중요한 차이점은 다음과 같습니다.

    • 동적 배열 수식은 하나의 셀에 입력됩니다. 일반 Enter 키 입력으로 완료됩니다. 구식 배열 수식을 완성하려면 Ctrl + Shift + Enter 키를 눌러야 합니다.
    • 새로운 배열 수식은 자동으로 많은 셀에 적용됩니다. 여러 결과를 반환하려면 CSE 수식을 셀 범위에 복사해야 합니다.
    • 소스 범위의 데이터가 변경되면 동적 배열 수식의 출력 크기가 자동으로 조정됩니다. CSE 수식은 반환 영역이 너무 작으면 출력을 자르고 반환 영역이 너무 크면 추가 셀에서 오류를 반환합니다.
    • 동적 배열 수식은 단일 셀에서 쉽게 편집할 수 있습니다. CSE 수식을 수정하려면 전체 범위를 선택하고 편집해야 합니다.
    • CSE 수식 범위에서 행을 삭제하고 삽입하는 것은 불가능합니다. 먼저 기존 수식을 모두 삭제해야 합니다. 동적 배열을 사용하면 행 삽입 또는 삭제가 문제가 되지 않습니다.

    이전 버전과의 호환성: 기존 Excel의 동적 배열

    이전 Excel에서 동적 배열 수식이 포함된 통합 문서를 열면 {중괄호}로 묶인 기존 배열 수식으로 자동 변환됩니다. 새 Excel에서 워크시트를 다시 열면 중괄호가 제거됩니다.

    레거시 Excel에서는 새 동적 배열이함수 및 유출 범위 참조는 이 기능이 지원되지 않음을 나타내기 위해 _xlfn 접두사가 붙습니다. 유출 범위 참조 기호(#)는 ANCHORARRAY 함수로 대체됩니다.

    예를 들어 Excel 2013 :

    <에서 UNIQUE 수식이 나타나는 방식은 다음과 같습니다. 3>

    대부분의 동적 배열 수식(모두는 아님!)은 변경할 때까지 레거시 Excel에 결과를 계속 표시합니다. 수식을 편집하면 즉시 수식이 끊어지고 하나 이상의 #NAME?이 표시됩니다. 오류 값.

    Excel 동적 배열 수식이 작동하지 않음

    함수에 따라 잘못된 구문이나 잘못된 인수를 사용하면 다른 오류가 발생할 수 있습니다. 다음은 동적 배열 수식에서 발생할 수 있는 가장 일반적인 3가지 오류입니다.

    #SPILL! error

    동적 배열이 여러 결과를 반환하지만 무언가 유출 범위를 막고 있는 경우 #SPILL! 오류가 발생합니다.

    오류를 수정하려면 유출 범위에서 완전히 비어 있지 않은 셀을 지우거나 삭제하면 됩니다. 방해가 되는 모든 셀을 빠르게 찾으려면 오류 표시기를 클릭한 다음 차단 셀 선택 을 클릭합니다.

    누출 범위가 비어 있는 경우 이 오류는 몇 가지 다른 이유로 인해 발생할 수 있습니다. 자세한 내용은 다음을 참조하십시오.

    • Excel #SPILL 오류 - 원인 및 수정
    • #SPILL 해결 방법! VLOOKUP, INDEX MATCH, SUMIF

    #REF 오류! 오류

    때문에통합 문서 간의 외부 참조에 대한 제한된 지원, 동적 배열을 사용하려면 두 파일이 모두 열려 있어야 합니다. 원본 통합 문서가 닫히면 #REF! 오류가 표시됩니다.

    #NAME? 오류

    #NAME? 이전 버전의 Excel에서 동적 배열 함수를 사용하려고 하면 오류가 발생합니다. 새 함수는 Excel 365 및 Excel 2021에서만 사용할 수 있습니다.

    지원되는 Excel 버전에서 이 오류가 표시되면 문제가 있는 셀에서 함수 이름을 다시 확인하세요. 잘못 입력되었을 가능성이 있습니다 :)

    Excel에서 동적 배열을 사용하는 방법입니다. 이 환상적인 새 기능이 마음에 드시기를 바랍니다! 어쨌든 읽어주셔서 감사하고 다음 주 블로그에서 뵙기를 바랍니다!

Ctrl + Shift + Enter를 누르거나 다른 동작을 수행할 필요 없이 자동으로 인접한 셀에 쏟아집니다. 즉, 동적 배열을 작동하는 것이 단일 셀로 작업하는 것만큼 쉬워집니다.

매우 기본적인 예를 들어 개념을 설명하겠습니다. 예를 들어 서로 다른 백분율을 계산하기 위해 두 그룹의 숫자를 곱해야 한다고 가정합니다.

Excel의 사전 동적 버전에서 아래 수식은 여러 개로 입력하지 않는 한 첫 번째 셀에만 적용됩니다. 셀을 선택하고 Ctrl + Shift + Enter를 눌러 명시적으로 배열 수식으로 만듭니다.

=A3:A5*B2:D2

이제 동일한 수식이 Excel 365. 하나의 셀(여기서는 B3)에 입력하고 Enter 키를 누르면… 하나의 수식이 있는 여러 셀을 spilling 이라고 하고 셀이 채워진 범위를 spill 범위라고 합니다.

중요한 점은 최근 업데이트가 단순히 새로운 방식이 아니라는 점입니다. Excel에서 배열을 처리합니다. 사실 이것은 전체 계산 엔진에 대한 획기적인 변화입니다. 동적 배열을 사용하면 Excel 함수 라이브러리에 여러 가지 새로운 함수가 추가되었으며 기존 함수가 더 빠르고 효과적으로 작동하기 시작했습니다. 결국 새로운 동적 배열은Ctrl + Shift + Enter 단축키.

Excel 동적 배열 가용성

동적 배열은 2018년 Microsoft Ignite Conference에서 소개되었으며 2020년 1월 Office 365 구독자에게 출시되었습니다. 현재 다음에서 사용할 수 있습니다. Microsoft 365 구독 및 Excel 2021.

동적 배열은 다음 버전에서 지원됩니다.

  • Windows용 Excel 365
  • Mac용 Excel 365
  • Excel 2021
  • Mac용 Excel 2021
  • iPad용 Excel
  • iPhone용 Excel
  • Android 태블릿용 Excel
  • Android 휴대폰용 Excel
  • 웹용 Excel

Excel 동적 배열 기능

새로운 기능의 일부로 Excel 365에 6개의 새로운 기능이 도입되었습니다. 기본적으로 배열을 처리하고 데이터를 셀 범위로 출력합니다. 출력은 항상 동적입니다. 소스 데이터에서 변경 사항이 발생하면 결과가 자동으로 업데이트됩니다. 따라서 그룹 이름은 동적 배열 기능 입니다.

이러한 새로운 기능은 전통적으로 해결하기 어려운 것으로 간주되는 여러 작업에 쉽게 대처합니다. 예를 들어, 중복 제거, 고유 값 추출 및 계산, 공백 필터링, 임의의 정수 및 소수 생성, 오름차순 또는 내림차순 정렬 등을 수행할 수 있습니다.

아래에서 간략한 설명을 찾을 수 있습니다. 각 기능의 기능과 자세한 자습서에 대한 링크:

  1. UNIQUE -셀 범위.
  2. FILTER - 정의한 기준에 따라 데이터를 필터링합니다.
  3. SORT - 지정된 열을 기준으로 셀 범위를 정렬합니다.
  4. SORTBY - 범위를 정렬합니다. 다른 범위 또는 배열로 셀의 배열.
  5. RANDARRAY - 난수 배열을 생성합니다.
  6. SEQUENCE - 일련 번호 목록을 생성합니다.
  7. TEXTSPLIT - 문자열을 a로 분할합니다. 열 또는/및 행에 지정된 구분 기호입니다.
  8. TOCOL - 배열 또는 범위를 단일 열로 변환합니다.
  9. TOROW - 범위 또는 배열을 단일 행으로 변환합니다.
  10. WRAPCOLS - 지정된 행당 값 수에 따라 행 또는 열을 2D 배열로 변환합니다.
  11. WRAPROWS - 열당 지정된 값 수에 따라 행 또는 열을 2D 배열로 재구성합니다. .
  12. TAKE - 배열의 시작 또는 끝에서 지정된 수의 연속 행 및/또는 열을 추출합니다.

또한 널리 사용되는 Excel 함수를 현대적으로 대체하는 두 가지 기능이 있습니다. , 공식적으로 그룹에 속하지는 않지만 레버리지 e 동적 배열의 모든 이점:

XLOOKUP - VLOOKUP, HLOOKUP 및 LOOKUP의 보다 강력한 후속 제품으로 열과 행 모두에서 조회하고 여러 값을 반환할 수 있습니다.

XMATCH -는 수직 및 수평 조회를 수행하고 지정된 항목의 상대 위치를 반환할 수 있는 MATCH 함수의 보다 다양한 후속 기능입니다.

Excel 동적 배열 수식

In최신 버전의 Excel에서는 동적 배열 동작이 깊이 통합되어 원래 배열과 함께 작동하도록 설계되지 않은 기능을 포함하여 모든 기능 의 기본 기능이 됩니다. 간단히 말해서 둘 이상의 값을 반환하는 모든 수식에 대해 Excel은 결과가 출력되는 크기 조정 가능한 범위를 자동으로 만듭니다. 이 기능으로 인해 기존 함수는 이제 마법을 수행할 수 있습니다!

아래 예는 동적 배열이 기존 함수에 미치는 영향뿐만 아니라 새로운 동적 배열 수식을 보여줍니다.

예제 1. 새로운 동적 배열 함수

이 예는 Excel 동적 배열 함수를 사용하여 솔루션을 얼마나 빠르고 간단하게 수행할 수 있는지 보여줍니다.

열에서 고유한 값 목록을 추출하려면 일반적으로 이와 같은 복잡한 CSE 공식을 사용하십시오. 동적 Excel에서 필요한 것은 기본 형식의 고유한 수식입니다.

=UNIQUE(B2:B10)

빈 셀에 수식을 입력하고 Enter 키를 누릅니다. Excel은 목록에서 모든 다른 값을 즉시 추출하여 수식을 입력한 셀(이 경우 D2)에서 시작하는 셀 범위로 출력합니다. 소스 데이터가 변경되면 결과가 자동으로 다시 계산되고 업데이트됩니다.

예 2. 여러 동적 배열 함수를 하나의 수식으로 결합

없는 경우 하나의 기능으로 작업을 수행하는 방법, 몇 가지 기능을 함께 연결하십시오! 을 위한예를 들어 조건에 따라 데이터를 필터링하고 결과를 사전순으로 정렬하려면 다음과 같이 FILTER 주위에 SORT 함수를 래핑합니다.

=SORT(FILTER(A2:C13, B2:B13=F1, "No results"))

여기서 A2:C13은 소스 데이터이고 B2:B13은 확인할 값이며 F1이 기준입니다.

예 3. 새로운 동적 배열 함수를 기존 함수와 함께 사용

Excel 365는 기존 수식을 배열로 쉽게 변환할 수 있으므로 새 함수와 기존 함수를 함께 결합하는 것을 방해하는 것은 없습니다.

예를 들어 특정 범위에 있는 고유한 값의 수를 계산하려면 동적 배열을 중첩합니다. 고유한 함수를 기존 COUNTA로:

=COUNTA(UNIQUE(B2:B10))

예제 4. 기존 함수는 동적 배열을 지원합니다.

다음 범위를 제공하는 경우 Excel 2016 또는 Excel 2019와 같은 이전 버전에서 셀을 TRIM 함수로 변환하면 첫 번째 셀에 대해 단일 결과가 반환됩니다.

=TRIM(A2:A6)

동적 Excel에서는 동일한 수식이 모든 세포의 반환

예 5. 여러 값을 반환하는 VLOOKUP 수식

모두가 알고 있듯이 VLOOKUP 함수는 단일 값을 반환하도록 설계되었습니다. 지정한 열 인덱스를 기반으로 하는 값입니다. 그러나 Excel 365에서는 열 번호 배열을 제공하여 여러 열에서 일치 항목을 반환할 수 있습니다.

=VLOOKUP(F1, A2:C6, {1,2,3}, FALSE)

예제 6. TRANSPOSE 수식easy

이전 Excel 버전에서는 TRANSPOSE 함수의 구문이 실수할 여지가 없었습니다. 워크시트에서 데이터를 회전하려면 원래 열과 행을 세고, 같은 수의 빈 셀을 선택하되 방향을 변경하고(대형 워크시트에서 엄청난 작업!) 선택한 범위에 TRANSPOSE 수식을 입력하고 Ctrl + Shift + Enter를 눌러 올바르게 완료하십시오. 휴!

동적 Excel에서는 출력 범위의 맨 왼쪽 셀에 수식을 입력하고 Enter 키를 누르기만 하면 됩니다.

=TRANSPOSE(A1:B6)

완료!

분할 범위 - 하나의 수식, 여러 셀

분할 범위 는 동적 배열 수식에서 반환된 값을 포함하는 셀 범위입니다.

유출 범위의 셀을 선택하면 파란색 테두리가 나타나 그 안의 모든 것이 왼쪽 상단 셀의 수식으로 계산됨을 나타냅니다. 첫 번째 셀의 수식을 삭제하면 모든 결과가 사라집니다.

유출 범위는 Excel 사용자의 삶을 훨씬 쉽게 만들어주는 정말 훌륭한 기능입니다. . 이전에는 CSE 배열 수식을 사용하여 복사할 셀 수를 추측해야 했습니다. 이제 첫 번째 셀에 수식을 입력하기만 하면 나머지는 Excel에서 알아서 처리합니다.

참고. 일부 다른 데이터가 유출 범위를 차단하는 경우 #SPILL 오류가 발생합니다. 방해하는 데이터가 제거되면 오류가 사라집니다.

자세한 내용은 다음을 참조하십시오.Excel 유출 범위.

유출 범위 참조(# 기호)

유출 범위를 참조하려면 왼쪽 상단 셀의 주소 뒤에 해시 태그 또는 파운드 기호(#)를 입력합니다. 범위.

예를 들어, A2에서 RANDARRAY 공식에 의해 생성된 난수 수를 찾으려면 COUNTA 함수에 유출 범위 참조를 제공합니다.

=COUNTA(A2#)

유출 범위의 값을 더하려면 다음을 사용하십시오.

=SUM(A2#)

팁:

  • 스필 범위, 마우스를 사용하여 파란색 상자 안의 모든 셀을 선택하기만 하면 Excel에서 스필 참조를 자동으로 생성합니다.
  • 일반적인 범위 참조와 달리 스필 범위 참조는 동적이며 범위 크기 조정에 반응합니다. 자동으로.
  • 자세한 내용은 스필 범위 연산자를 참조하세요.

    암시적 교차 및 @ 문자

    동적 배열 Excel에서 수식 언어에 한 가지 더 중요한 변경 사항이 있습니다. - 암시적 교차 연산자 로 알려진 @ 문자 도입.

    In Microsoft Excel, 암시적 교차 는 많은 값을 단일 값으로 줄이는 수식 동작입니다. 이전 Excel에서는 셀에 단일 값만 포함될 수 있었으므로 기본 동작이었고 특별한 연산자가 필요하지 않았습니다.

    새 Excel에서는 기본적으로 모든 수식이 배열 수식으로 간주됩니다. 원하지 않는 경우 배열 동작을 방지하기 위해 암시적 교차 연산자가 사용됩니다.

Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.