목차
이 자습서에서는 Excel에서 INDEX를 가장 효율적으로 사용하는 방법을 보여주는 수식 예제를 찾을 수 있습니다.
강력이 과소 평가되고 활용도가 낮은 모든 Excel 기능 중에서 INDEX는 확실히 상위 10위 안에 들 것입니다. 한편 이 기능은 스마트하고 유연하며 다재다능합니다.
그렇다면 Excel에서 INDEX 기능은 무엇입니까? 기본적으로 INDEX 수식은 지정된 배열 또는 범위 내에서 셀 참조를 반환합니다. 즉, 범위에 있는 요소의 위치를 알고 있거나 계산할 수 있고 해당 요소의 실제 값을 얻고 싶을 때 INDEX를 사용합니다.
약간 사소하게 들릴 수 있지만 한 번 INDEX 함수의 진정한 잠재력을 깨닫고 워크시트에서 데이터를 계산, 분석 및 표시하는 방식을 크게 변경할 수 있습니다.
Excel INDEX 함수 - 구문 및 기본 사용
엑셀의 INDEX 함수는 배열 형식과 참조 형식의 두 가지 버전이 있습니다. 두 형식 모두 Microsoft Excel 365 - 2003의 모든 버전에서 사용할 수 있습니다.
INDEX 배열 형식
INDEX 배열 형식은 행을 기준으로 범위 또는 배열의 특정 요소 값을 반환합니다. 및 지정하는 열 번호.
INDEX(array, row_num, [column_num])- array - 셀 범위, 명명된 범위 또는 테이블입니다.
- row_num - 값을 반환할 배열의 행 번호입니다. row_num이값을 반환하지만 이 수식에서 참조 연산자(:)는 참조를 반환하도록 강제합니다. 그리고 $A$1이 시작점이므로 수식의 최종 결과는 $A$1:$A$9 범위입니다.
다음 스크린샷은 이러한 인덱스 수식을 사용하여 동적 드롭을 만드는 방법을 보여줍니다. 다운 목록.
팁. 동적으로 업데이트되는 드롭다운 목록을 만드는 가장 쉬운 방법은 테이블을 기반으로 명명된 목록을 만드는 것입니다. 이 경우 Excel 테이블 자체가 동적 범위이기 때문에 복잡한 수식이 필요하지 않습니다.
INDEX 기능을 사용하여 종속 드롭다운 목록을 만들 수도 있으며 다음 자습서에서 단계를 설명합니다. Excel에서 계단식 드롭다운 목록 만들기.
5. 강력한 Vlookup with INDEX / MATCH
수직 조회 수행 - INDEX 기능이 진정으로 빛나는 곳입니다. Excel VLOOKUP 기능을 사용해 본 적이 있다면 조회 열의 왼쪽 열에서 값을 가져올 수 없거나 조회 값에 대한 255자 제한과 같은 많은 제한 사항을 잘 알고 있습니다.
INDEX / MATCH 연결은 여러 측면에서 VLOOKUP보다 우수합니다.
- 왼쪽 vlookup에 문제가 없습니다.
- 조회 값 크기에 제한이 없습니다.
- 정렬이 없습니다. 필수(대략 일치하는 VLOOKUP은 조회 열을 오름차순으로 정렬해야 함).
- 업데이트하지 않고 테이블에서 열을 자유롭게 삽입하고 제거할 수 있습니다.모든 관련 수식.
- 마지막으로 INDEX / MATCH는 여러 Vlookup처럼 Excel 속도를 늦추지 않습니다.
INDEX / MATCH를 다음과 같은 방식으로 사용합니다. :
=INDEX( 에서 값을 반환할 열 , (MATCH( 조회 값 , 조회할 열 , 0))For 예를 들어 Planet Name 이 맨 오른쪽 열이 되도록 원본 테이블을 뒤집어도 INDEX / MATCH 수식은 여전히 문제 없이 왼쪽 열에서 일치하는 값을 가져옵니다.
더 많은 팁과 수식 예제를 보려면 Excel INDEX / MATCH 자습서를 참조하세요.
6. 범위 목록에서 1 범위를 가져오는 Excel INDEX 수식
Excel에서 INDEX 함수를 똑똑하고 강력하게 사용하는 또 다른 방법은 범위 목록에서 하나의 범위를 가져오는 기능입니다.
각각 항목 수가 다른 여러 목록이 있다고 가정해 보겠습니다. 저를 믿으시거나 그렇지 않으면 하나의 수식으로 선택한 범위의 평균을 계산하거나 값을 합산할 수 있습니다.
먼저, e 각 목록에 대한 명명된 범위; 이 예에서는 PlanetsD 및 MoonsD 라고 합니다.
위 이미지가 범위 이름 뒤에 있는 이유를 설명하기를 바랍니다. : ) 그런데 달 표는 완전하지 않습니다. 우리 태양계에는 알려진 자연 위성이 176개 있고, 목성에만 현재 63개가 있으며 계속해서 늘어나고 있습니다. 이 예에서는 임의의 11을 선택했습니다. 음... 완전히 무작위는 아닐 수도 있습니다.가장 아름다운 이름을 가진 달들 : )
여담을 용서하고 다시 INDEX 공식으로 돌아가십시오. PlanetsD 가 범위 1이고 MoonsD 가 범위 2이고 셀 B1이 범위 번호를 입력했다고 가정하면 다음 색인 수식을 사용하여 값의 평균을 계산할 수 있습니다. 선택한 명명된 범위:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
이제 INDEX 함수의 참조 형식을 사용하고 있으며 마지막 인수(area_num)의 숫자는 수식에 범위를 알려줍니다. pick.
아래 스크린샷에서 area_num(셀 B1)이 2로 설정되어 있으므로 수식은 MoonsD 범위가 2번째로 오기 때문에 Moons 의 평균 지름을 계산합니다. 참조 인수에 있습니다.
여러 목록으로 작업하고 연관된 숫자를 기억하고 싶지 않다면 중첩된 IF 함수를 사용하여 이 작업을 수행할 수 있습니다. :
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
IF 함수에서 사용자가 숫자 대신 B1 셀에 입력하기를 원하는 간단하고 기억하기 쉬운 목록 이름을 사용합니다. 공식이 올바르게 작동하려면 B1의 텍스트가 IF의 매개변수와 정확히 동일해야 합니다(대소문자 구분 안 함). 그렇지 않으면 인덱스 공식에서 #VALUE 오류가 발생합니다.
수식을 더욱 사용자 친화적으로 만들기 위해 데이터 유효성 검사를 사용하여 사전 정의된 이름으로 드롭다운 목록을 만들어 맞춤법 오류를 방지하고misprints:
마지막으로 INDEX 수식을 완벽하게 만들기 위해 사용자가 드롭다운 목록에서 항목을 선택하라는 메시지를 표시하는 IFERROR 함수에 수식을 묶을 수 있습니다. 아직 선택하지 않은 경우:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
Excel에서 INDEX 수식을 사용하는 방법입니다. 이 예제가 워크시트에서 INDEX 함수의 잠재력을 활용하는 방법을 보여주었기를 바랍니다. 읽어주셔서 감사합니다!
생략하면 column_num이 필요합니다. - column_num - 값을 반환할 열 번호입니다. column_num이 생략되면 row_num이 필요합니다.
예를 들어 수식 =INDEX(A1:D6, 4, 3)
은 셀 C4의 값인 A1:D6 범위의 4번째 행과 3번째 열이 교차하는 값을 반환합니다. .
INDEX 공식이 실제 데이터에서 어떻게 작동하는지 알아보려면 다음 예를 살펴보십시오.
행을 입력하는 대신 =INDEX($B$2:$D$6, G2, G1)
따라서 이 INDEX 수식은 G2에 지정된 제품 번호(row_num ) 및 G1 셀(column_num)에 입력된 주 번호.
팁. 배열 인수에서 상대 참조(B2:D6) 대신 절대 참조($B$2:$D$6)를 사용하면 수식을 다른 셀에 더 쉽게 복사할 수 있습니다. 또는 범위를 표로 변환하고( Ctrl + T ) 표 이름으로 참조할 수 있습니다.
INDEX 배열 형식 - 기억할 사항
- 배열 인수가 하나의 행 또는 열로만 구성된 경우 해당 row_num 또는 column_num 인수를 지정하거나 지정하지 않을 수 있습니다.
- 배열 인수가 둘 이상의 행을 포함하고 row_num이 생략되거나 0으로 설정된 경우 INDEX 함수는 전체 열의 배열을 반환합니다. 마찬가지로 배열에 둘 이상이 포함된 경우column이고 column_num 인수가 생략되거나 0으로 설정된 경우 INDEX 수식은 전체 행을 반환합니다. 다음은 이 동작을 보여주는 수식 예입니다.
- row_num 및 column_num 인수는 배열 내의 셀을 참조해야 합니다. 그렇지 않으면 INDEX 수식이 #REF! 오류.
INDEX 참조 형식
엑셀 INDEX 함수의 참조 형식은 지정된 행과 열이 교차하는 지점의 셀 참조를 반환합니다.
INDEX(reference, row_num , [column_num], [area_num] )- reference - 하나 또는 여러 범위입니다.
둘 이상의 범위를 입력하는 경우 범위를 쉼표로 구분하고 참조 인수를 괄호로 묶습니다(예: (A1:B5, D1:F5).
참조의 각 범위에 하나의 행 또는 열, 해당하는 row_num 또는 column_num 인수는 선택 사항입니다.
- row_num - 셀 참조를 반환할 범위의 행 번호, 배열과 유사합니다. form.
- column_num - 셀 참조를 반환할 열 번호이며 배열 형식과 유사하게 작동합니다.
- area_num - an 사용할 참조 인수의 범위를 지정하는 선택적 매개변수입니다. 생략하면 INDEX 수식은 참조에 나열된 첫 번째 범위에 대한 결과를 반환합니다.
예를 들어 수식 =INDEX((A2:D3, A5:D7), 3, 4, 2)
은 셀 D7의 값을 반환합니다.두 번째 영역에서 세 번째 행과 네 번째 열의 교차점(A5:D7).
INDEX 참조 양식 - 기억해야 할 사항
- If row_num 또는 column_num 인수가 0으로 설정되면 INDEX 수식은 각각 전체 열 또는 행에 대한 참조를 반환합니다.
- row_num 및 column_num이 모두 생략된 경우 INDEX 함수는 다음에 지정된 영역을 반환합니다. area_num 인수.
- 모든 _num 인수(row_num, column_num 및 area_num)는 참조 내의 셀을 참조해야 합니다. 그렇지 않으면 INDEX 수식이 #REF! error.
지금까지 논의한 두 INDEX 공식은 모두 매우 단순하며 개념을 설명할 뿐입니다. 실제 수식은 그보다 훨씬 더 복잡할 수 있으므로 Excel에서 INDEX를 가장 효율적으로 사용하는 몇 가지 방법을 살펴보겠습니다.
Excel에서 INDEX 함수를 사용하는 방법 - 수식 예
아마도 Excel INDEX 자체는 실용적이지 않지만 MATCH 또는 COUNTA와 같은 다른 기능과 함께 사용하면 매우 강력한 수식을 만들 수 있습니다.
원본 데이터
모든 INDEX 수식 (마지막 데이터 제외) 아래 데이터를 사용하겠습니다. 편의를 위해 SourceData 라는 테이블로 구성됩니다.
테이블 또는 명명된 범위를 사용하여 수식을 만들 수 있습니다. 조금 더 길지만 훨씬 더 유연하고 읽기 쉽습니다. INDEX를 조정하려면워크시트의 수식을 변경하려면 단일 이름만 수정하면 되므로 더 긴 수식 길이를 완전히 보완할 수 있습니다.
물론 원하는 경우 일반적인 범위를 사용하는 데 방해가 되는 것은 없습니다. 이 경우 테이블 이름 SourceData 을 적절한 범위 참조로 바꾸기만 하면 됩니다.
1. 목록에서 N번째 항목 가져오기
INDEX 함수의 기본 사용법이자 가장 간단한 수식입니다. 목록에서 특정 항목을 가져오려면 =INDEX(range, n)
을 작성합니다. 여기서 range 는 셀 범위 또는 명명된 범위이고 n 은 가져오려는 항목의 위치입니다.
Excel 표로 작업할 때 마우스를 사용하여 열을 선택할 수 있으며 Excel은 수식에서 표 이름과 함께 열 이름을 가져옵니다.
주어진 행과 열의 교차점에서 셀 값을 얻으려면 행 번호와 열 번호를 모두 지정한다는 유일한 차이점을 제외하고 동일한 접근 방식을 사용합니다. 사실, INDEX 배열 형식에 대해 논의할 때 이러한 공식이 실제로 사용되는 것을 이미 보았을 것입니다.
여기에 한 가지 예가 더 있습니다. 샘플 테이블에서 태양계에서 두 번째로 큰 행성을 찾으려면 Diameter 열을 기준으로 테이블을 정렬하고 다음 INDEX 공식을 사용합니다.
=INDEX(SourceData, 2, 3)
-
Array
은 테이블 이름 또는 범위 참조입니다. 이 예에서는 SourceData 입니다. -
Row_num
는 두 번째 항목을 찾고 있기 때문에 2입니다.목록에서 2nd -
Column_num
는 Diameter 가 테이블의 세 번째 열이기 때문에 3입니다.
행성을 반환하려는 경우 지름이 아닌 이름을 사용하려면 column_num을 1로 변경하세요. 그리고 당연히 아래 스크린샷과 같이 row_num 및/또는 column_num 인수에 셀 참조를 사용하여 수식을 더 다양하게 만들 수 있습니다.
2. 행 또는 열의 모든 값 가져오기
단일 셀 검색과 별도로 INDEX 함수는 전체 행 또는 열 의 값 배열을 반환할 수 있습니다. . 특정 컬럼에서 모든 값을 가져오려면 row_num 인수를 생략하거나 0으로 설정해야 합니다. 마찬가지로 전체 행을 가져오려면 column_num에 빈 값이나 0을 전달해야 합니다.
이러한 INDEX 수식으로는 Excel은 단일 셀의 수식에서 반환된 값 배열을 맞출 수 없기 때문에 #VALUE! 대신 오류. 그러나 INDEX를 SUM 또는 AVERAGE와 같은 다른 기능과 함께 사용하면 놀라운 결과를 얻을 수 있습니다.
예를 들어 다음 공식을 사용하여 태양계의 평균 행성 온도를 계산할 수 있습니다.
=AVERAGE(INDEX(SourceData, , 4))
위 수식에서 column_num 인수는 테이블의 4번째 열에 있는 Temperature 때문에 4입니다. row_num 매개변수는 생략합니다.
유사한 방법으로 최소값과 최대값을 찾을 수 있습니다.온도:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
그리고 총 행성 질량을 계산합니다(질량은 표의 두 번째 열임):
=SUM(INDEX(SourceData, , 2))
실용적인 관점에서 위 공식의 INDEX 함수는 불필요합니다. 단순히 =AVERAGE(range)
또는 =SUM(range)
을 작성해도 동일한 결과를 얻을 수 있습니다.
실제 데이터로 작업할 때 이 기능은 데이터 분석에 사용하는 보다 복잡한 수식의 일부로 유용할 수 있습니다.
3. INDEX를 다른 함수(SUM, AVERAGE, MAX, MIN)와 함께 사용
이전 예제에서 INDEX 수식이 값을 반환하는 것처럼 보일 수 있지만 실제로는 참조를 반환합니다. 값을 포함하는 셀에. 그리고 이 예제는 Excel INDEX 함수의 진정한 본질을 보여줍니다.
INDEX 수식의 결과는 참조이므로 다른 함수 내에서 이를 사용하여 동적 범위 를 만들 수 있습니다. 혼란스럽게 들리나요? 다음 수식을 사용하면 모든 것이 명확해집니다.
A1:A10 셀 값의 평균을 반환하는 수식 =AVERAGE(A1:A10)
이 있다고 가정합니다. 수식에 범위를 직접 쓰는 대신 다음과 같이 A1이나 A10 또는 둘 다를 INDEX 함수로 바꿀 수 있습니다. INDEX 함수가 A10 셀에 대한 참조도 반환하기 때문에 결과입니다(row_num은 10으로 설정되고 col_num은 생략됨). 차이점은 범위가 AVERAGE / INDEX 공식이 동적이라는 것,INDEX에서 row_num 인수를 변경하면 AVERAGE 함수에서 처리하는 범위가 변경되고 수식은 다른 결과를 반환합니다.
분명히 INDEX 수식의 경로는 지나치게 복잡해 보이지만 실제로는 적용할 수 있습니다. , 다음 예에 설명된 대로.
예 1. 목록에서 상위 N개 항목의 평균 계산
우리 시스템에서 가장 큰 N개 행성의 평균 지름을 알고 싶다고 가정해 보겠습니다. . 따라서 테이블을 Diameter 열을 기준으로 큰 것부터 작은 것까지 정렬하고 평균/지수 공식을 사용합니다.
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
예 2. 지정된 두 항목 사이의 항목 합계
수식에서 상한 항목과 하한 항목을 정의하려는 경우 두 개의 INDEX 함수를 사용하여 첫 번째 항목과 원하는 마지막 항목입니다.
예를 들어 다음 수식은 셀 B1과 B2에 지정된 두 항목 사이의 지름 열 값의 합계를 반환합니다.
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. 동적 범위 및 드롭다운 목록을 만드는 INDEX 공식
종종 그렇듯이 워크시트에서 데이터 구성을 시작할 때 최종적으로 얼마나 많은 항목이 있게 될지 알 수 없습니다. 완전한 것처럼 보이는 우리의 행성 테이블의 경우는 아니지만...
어쨌든 주어진 열에서 항목 수가 변경되는 경우 A1에서 A 로 n ,데이터가 있는 모든 셀을 포함하는 동적 명명 범위를 만들 수 있습니다. 이때 새 항목을 추가하거나 기존 항목 중 일부를 삭제할 때 범위가 자동으로 조정되기를 원합니다. 예를 들어 현재 10개의 항목이 있는 경우 명명된 범위는 A1:A10입니다. 새 항목을 추가하면 명명된 범위가 자동으로 A1:A11로 확장되고 마음이 바뀌어 새로 추가된 데이터를 삭제하면 범위가 자동으로 A1:A10으로 되돌아갑니다.
이것의 주요 이점 접근 방식은 올바른 범위를 참조하도록 통합 문서의 모든 수식을 지속적으로 업데이트할 필요가 없다는 것입니다.
동적 범위를 정의하는 한 가지 방법은 Excel OFFSET 함수를 사용하는 것입니다.
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
또 다른 가능한 해결책은 COUNTA와 함께 Excel INDEX를 사용하는 것입니다.
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
두 수식 모두에서 A1은 목록의 첫 번째 항목과 생성된 동적 범위를 포함하는 셀입니다. 두 공식은 동일합니다.
차이점은 접근 방식에 있습니다. OFFSET 함수는 시작점에서 일정 수의 행 및/또는 열만큼 이동하는 동안 INDEX는 특정 행과 열이 교차하는 지점에서 셀을 찾습니다. 두 수식에 사용되는 COUNTA 함수는 관심 있는 열에서 비어 있지 않은 셀의 수를 가져옵니다.
이 예에서는 A 열에 비어 있지 않은 셀이 9개 있으므로 COUNTA는 9를 반환합니다. 결과적으로 INDEX는 A 열에서 마지막으로 사용된 셀인 $A$9를 반환합니다(보통 INDEX