비디오: [엑셀 실무](find,isNumber,match,index, 배열수식을 이용한) index_match 고급 기법 2024
모든 배열 수식이 여러 열 및 / 또는 여러 행이있는 배열을 워크 시트에 반환하지는 않습니다. 하지만 그렇게하면 배열에 하나의 값만 표시하는 데 관심을 가질 수 있습니다. Excel의 INDEX 함수를 사용하여 도움을받을 수 있습니다.
예를 들어 LINEST는 함수가 포함 된 수식을 배열로 입력 할 때만 제대로 작동하는 워크 시트 함수 중 하나입니다. 그러나 일상적인 보고서에서 워크 시트 레이아웃을 수용하기 위해 LINEST 결과에서 하나의 셀 값에만 액세스하고자한다고 가정합니다. 이 경우 반드시 LINEST 결과의 전체 집합을 원할 필요는 없으며 Excel의 INDEX 함수를 사용하여 표시하려는 항목 만 빼서 표시 할 수 있습니다.
= LINEST (A2: A51, B2: D51, TRUE)
이 수식은 5 행 4 열 범위에서 해당 범위의 세 번째 행과 첫 번째 열의 교차 부분에 회귀의 R 제곱 값이 포함됩니다. 따라서 하나의 셀만 선택하고 다음 수식을 입력하면 R- 제곱 값:
여기서 INDEX에 LINEST 함수가 반환 한 값 배열을 제공합니다.. 이것이 INDEX의 첫 번째 주장입니다. INDEX의 두 번째 및 세 번째 인수는 숫자 3과 1이며 INDEX가 배열의 세 번째 행과 첫 번째 열의 값을 찾고 워크 시트로 반환하도록 지시합니다.
LINEST 결과의 배열을 Ctrl 및 Shift 키와 Enter 조합없이 첫 번째 인수로 사용하여 배열 입력없이 전체 INDEX 수식을 일반적으로 입력 할 수 있습니다. 두 가지 방법으로 시도해보십시오. 두 배열을 모두 입력하고 정상적으로 입력하십시오.
그럼에도 다음 단일 셀 배열 수식을 입력하면 #VALUE 오류가 발생합니다!
= IF (H44639: H44644> 0, G44639: G44644, 0)Excel에서 배열을 인수로 사용할 함수가 호출 될 때 수식은 다음과 같을 수 있습니다. 정상적으로 입력되었습니다.
= INDEX (LINEST (A2: A51, B2: D51, TRUE), 3,1)
LINEST 결과는 INDEX 함수 내에 중첩되어 첫 번째 역할을합니다 논의. Excel은 INDEX가 첫 번째 인수로 값의 배열을 취할 것으로 기대합니다. 배열 구문 분석은 INDEX에서 수행 한 작업입니다. 따라서 주어진 수식은 배열에 입력 할 필요가 없습니다.
= AVERAGE (IF (A2: A25 = "Zig", B2: B25, ""))
이 경우 Excel은 다음을 수행합니다. IF 함수가 값의 배열을 인수로 취할 것으로 예상하지는 않지만 여기서는 IF에 하나가 아닌 두 개의 값 배열, 즉 범위 A23: A25와 B2: B25를 표시합니다.(처음 두 인수에 의해 암시 된 24 개의 인스턴스가 배열되어 있다는 입장을 취할 수도 있습니다.) 수식이 IF에 대한 인수의 초기 예상을 충족시키지 못하기 때문에 Excel의 상황을 상황에 맞게 그려야합니다. 수식을 배열로 입력하면됩니다.