Excel에서 표준 편차를 계산하는 방법: 단계별 튜토리얼 (2026)
Iron Software 팀에 의해 작성됨
Microsoft Excel의 VLOOKUP 기능은 Excel 스프레드시트에서 데이터를 다룰 때 가장 실용적인 도구 중 하나입니다. 기본적으로 수직 조회를 수행합니다: 조회 값을 제공하면 Excel은 정의된 범위의 첫 번째 열을 검색하여 일치하는 값을 찾고, 같은 행의 다른 열에서 해당 값을 반환합니다. 제품 ID를 교차 검증하거나 직원 정보를 가져오거나 두 표에서 기록을 일치시키는 경우, VLOOKUP은 수작업의 시간을 단일 공식으로 줄일 수 있습니다.
이 가이드는 시작하는데 필요한 모든 것을 다룹니다: VLOOKUP 구문 이해, 첫 번째 VLOOKUP 공식 작성, 정확한 일치 및 근사치 일치 선택, 일반적인 오류 해결, 그리고 보다 고급 사용을 위한 MATCH 함수와 VLOOKUP 결합하기. 또한 IronXL을 사용하여 프로그래밍 방식으로 Excel 파일에서 데이터를 검색하는 방법을 보여주는 빠른 참조 표와 개발자 섹션을 찾을 수 있습니다.
VLOOKUP 구문 이해하기
공식을 작성하기 전에 각 부분이 무엇을 하는지 이해하는 것이 도움이 됩니다. VLOOKUP 구문은 다음 구조를 따릅니다:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
풀어서 작성된 경우: lookup_value table_array col_index_num range_lookup은 모든 VLOOKUP 공식에서 사용하는 네 가지 인수입니다. 각각의 뜻은 다음과 같습니다:
- lookup_value: 검색하고자 하는 값입니다. 이것은 이름, 직원 ID, 제품 ID, 또는 기타 식별자일 수 있습니다.
- table_array: 데이터를 포함하는 데이터 범위 또는 테이블 범위입니다. VLOOKUP은 항상 이 범위의 첫 번째 열을 검색합니다.
- col_index_num: Excel에 반환할 열의 값을 알려주는 열 인덱스 번호입니다. 첫 번째 열이 ID를 포함하고 두 번째 열이 이름을 포함한다면 2를 입력하면 이름이 반환됩니다. 세 번째 열은 3이 되고, 계속 이어집니다.
- range_lookup: 마지막 인수로, 일치 동작을 제어합니다. 정확한 일치를 위해 FALSE를 입력하고 근사치 일치를 위해 TRUE를 입력합니다.
VLOOKUP은 조회 열이 테이블 배열의 첫 번째 열이어야 하며, 이 열 오른쪽의 열에서만 데이터를 검색할 수 있습니다. 검색 키 왼쪽의 열을 볼 수 없습니다.
VLOOKUP 함수는 지정된 테이블에서 정보를 검색하여 제공된 행 및 열 인덱스를 기반으로 겹치는 셀의 값을 반환하는 데 사용됩니다.

방법 1: 기본 VLOOKUP 공식 작성 (정확한 일치)
VLOOKUP을 사용하는 가장 일반적인 방법은 정확한 일치 모드입니다. 이것은 직원 ID나 제품 ID와 같은 고유 키가 있을 때 안전한 옵션이며, 정확한 결과가 필요할 때 사용됩니다.
1단계: 조회 열이 테이블 배열의 첫 번째 열이 되도록 데이터를 구성하십시오. VLOOKUP은 수직 데이터를 사용하며 각 행이 하나의 레코드를 나타내는 수직으로 구성된 테이블이 필요합니다.
2단계: 결과가 표시될 셀을 클릭합니다.
3단계: 공식을 입력합니다. 직원 테이블을 예시로 사용하여:
=VLOOKUP(G2,A2:D9,2,FALSE())
여기서 G2는 조회 값(검색할 직원 ID), A2:D9는 테이블 배열(모든 데이터를 포함하는 셀 범위), 2는 col_index_num(두 번째 열에서 이름 반환), FALSE는 정확한 일치를 지정합니다.
4단계: Enter 키를 누릅니다. 공식은 동일한 행에서 검색 키와 일치하는 정확한 값을 반환합니다.
잘못된 데이터를 반환하는 것을 피하려면 VLOOKUP에서 정확한 일치에 대해 항상 FALSE를 사용하십시오. range_lookup 인수가 생략되면 VLOOKUP은 기본적으로 근사치 일치 모드로 설정되어, 정확한 일치가 필요한 경우 예상치 못한 잘못된 결과를 초래할 수 있습니다.
대부분의 경우 고유 키가 있을 때 정확한 결과를 보장하기 위해 VLOOKUP을 정확히 일치 모드(FALSE)로 사용하는 것이 좋습니다.

방법 2: 다른 열에서 데이터 검색
열 인덱스 번호가 작동하는 방식을 이해하면, 해당 단일 번호를 변경하여 테이블 배열의 아무 열에서나 데이터를 검색할 수 있습니다.
동일한 직원 테이블을 사용하여:
- =VLOOKUP(G2, A2:D9, 2, FALSE)는 이름(범위의 두 번째 열)을 반환합니다
- =VLOOKUP(G2, A2:D9, 3, FALSE)는 부서(세 번째 열)를 반환합니다
- =VLOOKUP(G2, A2:D9, 4, FALSE)는 급여(네 번째 열)를 반환합니다
열 번호는 테이블 배열의 왼쪽 끝에서 세어지며 시트의 A 열에서 시작하는 것이 아닙니다. 따라서 테이블 배열이 C 열에서 시작하면 처음으로 세는 열은 C 열 자체가 됩니다.
VLOOKUP은 검색 열의 오른쪽 열에서만 데이터를 검색할 수 있어서 데이터 검색 유연성이 제한됩니다.

방법 3: 범위에 대한 근사치 일치 사용
근사치 및 정확한 일치는 다른 목적을 제공합니다. 근사치 일치 모드(range_lookup을 TRUE로 설정)는 특정 레코드가 아닌 범위 내의 값을 조회할 때 설계되었습니다. 세율 테이블이나 수수료 등급 시스템이 일반적인 예입니다.
range_lookup이 TRUE일 때 VLOOKUP은 근사치 일치를 수행하며, 이는 단일 정확한 값이 아닌 값의 범위와 일치합니다. VLOOKUP에는 두 가지 일치 모드가 있습니다: 마지막 인수 range_lookup에 의해 통제되는 정확한 일치와 근사치 일치.
중요: 근사치 일치 모드를 위해서는 데이터 테이블이 첫 번째 열에 따라 오름차순으로 정렬되어야 하며, 그렇지 않으면 잘못된 결과를 초래할 수 있습니다. VLOOKUP에 제공된 테이블이 오름차순으로 정렬되지 않은 경우, 근사치 일치 모드를 사용하면 잘못된 결과를 초래할 수 있습니다. 근사치 일치 모드를 위해서는 데이터 테이블이 첫 번째 열에 따라 오름차순으로 정렬되어야 잘못된 결과를 피할 수 있습니다. 정렬 요구사항이 충족될 때만 vlookup은 근사치 매칭을 지원합니다.
예시 공식:
=VLOOKUP(B2, $E$2:$F$6, 2, TRUE)
이는 B2에 있는 값이 어느 구간에 속하는지 찾아 해당 범위의 두 번째 열에서 비율을 반환합니다.
방법 4: 공식을 복사할 때 절대 참조로 VLOOKUP 사용하기
다른 셀에 VLOOKUP 공식을 복사할 때 테이블 배열 참조가 잠기지 않으면 이동합니다. VLOOKUP 공식을 복사할 때 테이블 범위를 $ 기호로 잠글 수 있어 절대 참조를 생성합니다. 이는 공식을 복사할 때 테이블 배열이 이동하지 않도록 보장합니다. 이는 전체 테이블 참조를 고정한 상태에서 조회 값 셀이 자동으로 조정되도록 합니다.
=VLOOKUP(A2, $C$2:$F$50, 2, FALSE)
C2와 F50 앞에 있는 달러 기호가 절대 참조를 생성하고, 공식이 아래로 복사될 때 테이블 배열이 이동하지 않도록 보장합니다.
방법 5: MATCH 함수와 함께 VLOOKUP 결합
MATCH 함수는 VLOOKUP 내에 중첩되어 동적 열 조회를 생성할 수 있습니다. 고정된 열 번호를 입력하는 대신 MATCH가 열 머리글의 위치를 자동으로 찾습니다.
VLOOKUP 공식 내에 MATCH 함수를 사용하면 동적 열 인덱스를 사용할 수 있어 테이블 내에서 위치가 변경될 수 있는 열에서 데이터를 검색할 수 있습니다.
=VLOOKUP(H2,A2:E6,MATCH(H3,A1:E1,0),FALSE())
여기에서 MATCH(H3, A1:E1, 0)은 머리글 행 내 H3에 저장된 열 이름을 조회하고 위치 번호를 반환합니다. 그 후 VLOOKUP은 해당 번호를 col_index_num으로 사용합니다.
MATCH가 VLOOKUP과 결합되면, 사용자가 고정 번호 대신 동적 참조를 기반으로 검색 열을 지정할 수 있게 되어 유연성이 향상됩니다. MATCH와 VLOOKUP의 통합은, 데이터 구조가 변경될 때(예: 열 추가 또는 제거) 발생하는 오류를 방지하는 데 도움이 됩니다.
전체 VLOOKUP lookup_value table_array col_index_num 인수 집합이 여전히 여기에 적용됩니다; 세 번째 인수만 동적으로 변경됩니다.

Excel 테이블과 함께 VLOOKUP 사용하기
데이터가 Excel 테이블(삽입 > 표)로 포맷된 경우 VLOOKUP은 일반 셀 주소 대신 구조화된 참조를 사용할 수 있습니다. 구조화된 참조는 공식을 더 쉽게 읽을 수 있게 하고, 테이블에 새 행이 추가될 때 자동으로 확장됩니다.
=VLOOKUP([@EmployeeID], EmployeeTable, 3, FALSE)
구조화된 참조는 절대 참조를 수동으로 업데이트할 필요성을 줄여 주며, 행 개수가 정기적으로 변경되는 대규모 데이터셋에서 잘 작동합니다. 피벗 테이블은 VLOOKUP 결과 데이터를 가져온 후 요약하여 이 접근 방식을 보완할 수 있습니다.
일반적인 문제 및 문제 해결
N/A 오류
VLOOKUP의 #N/A 오류는 조회 값이 지정된 테이블 배열에서 발견되지 않았음을 나타내며, 잘못된 데이터나 포맷 문제와 같은 여러 이유로 발생할 수 있습니다.
일반적인 원인:
- 조회 값이나 원본 데이터의 첫 번째 열에 여분의 공백이 있는 경우
- 텍스트 값이 숫자로, 숫자가 텍스트로 저장되는 경우 (유형이 일치하지 않으면 검색 결과가 실패함)
- 데이터 범위에 조회 값이 전혀 존재하지 않는 경우
- 정확히 일치 모드에서 부분일치를 시도하는 경우 (VLOOKUP은 기본적으로 부분일치를 지원하지 않음)
VLOOKUP에서 #N/A 오류를 처리하기 위해 IFNA 함수로 오류가 발생할 때 사용자 정의 메시지나 값을 반환하도록 할 수 있습니다:
=IFNA(VLOOKUP(G2, A2:D9, 2, FALSE), "찾을 수 없음")
IFERROR 함수를 사용하여 VLOOKUP #N/A 오류를 포획할 수도 있지만, 이는 모든 종류의 오류를 포획하므로, 다른 문제가 마스킹될 수 있음을 유의해야 합니다.
VLOOKUP이 잘못된 값을 반환하는 경우
VLOOKUP 결과가 올바르게 보이지만 실제로는 잘못된 경우, 근사치 일치 모드가 실수로 활성화되었는지 확인하세요. 누락되었거나 잘못 설정된 마지막 인수는 TRUE로 기본값이 설정되어 근사치 일치 모드를 실행시킵니다. 정확한 조회를 위해 일치 모드를 FALSE로 설정하세요.
VLOOKUP은 데이터셋에서 발견된 첫 번째 일치 항목만 반환하므로, 조회 기준에 부합하는 항목이 여러 개 있을 때는 한계가 있을 수 있습니다. 조회 열에 중복되는 개인값이 있는 경우, VLOOKUP은 항상 첫 번째 일치 항목에서 멈추고 나머지를 무시하여 예상치 못한 결과를 반환할 수 있습니다.
조회 열이 첫 번째 열이 아닌 경우
VLOOKUP은 테이블 배열의 첫 번째 열만 검색하여 작동합니다. 필요한 열이 데이터 범위 왼쪽에 있지 않은 경우, 키를 왼쪽으로 가져오는 보조 열을 추가하거나, 모든 방향으로 검색할 수 있는 INDEX MATCH 조합으로 전환합니다.
공식이 #REF! 반환
이것은 보통 col_index_num이 테이블 배열의 열 수보다 큰 경우를 의미합니다. 지정한 열 번호가 테이블 범위의 너비를 초과하지 않는지 확인하세요.
스크린샷 제안: 공식 표시줄에 IFNA 공식이 표시되고, 존재하지 않는 ID가 입력되면 결과 셀에 친근한 "찾을 수 없음" 텍스트가 나타나는 스크린샷.
빠른 참조: VLOOKUP 모드 및 사용 사례
| 시나리오 | range_lookup | 공식 예시 | 노트 |
|---|---|---|---|
| 직원 ID로 찾기 (정확한 값) | FALSE | =VLOOKUP(A2,$C$2:$F$50,2,FALSE) | 고유 키 추천 |
| 제품 ID로 찾기 | FALSE | =VLOOKUP(B2,$E$2:$H$100,3,FALSE) | 정확한 일치, 안전한 복사를 위해 $ 사용 |
| 수수료 등급 (범위) | TRUE | =VLOOKUP(C2,$J$2:$K$6,2,TRUE) | 표는 오름차순으로 정렬되어야 함 |
| Dynamic column via index match or MATCH | FALSE | =VLOOKUP(H2,A2:E6,MATCH(H3,A1:E1,0),FALSE) | 열은 셀 값에 의해 주도됨 |
| IFNA로 감쌈 | FALSE | =IFNA(VLOOKUP(...),"찾을 수 없음") | 누락된 항목을 깔끔하게 처리 |
Vlookup lookup_value table_array 인수는 항상 필요합니다. 마지막 인수는 기술적으로 선택 사항이지만, 실전에서 생략하게 되면 잘못된 결과를 초래할 수 있습니다.
염두에 둘 VLOOKUP의 한계
VLOOKUP은 대부분의 일상 작업에 대해 신뢰할 수 있는 Excel 함수이지만, 프로덕션 모델에서 의존하기 전에 알아두면 유용한 몇 가지 내장된 제약이 있습니다:
- 테이블 배열의 첫 번째 열만 검색할 수 있으므로 검색이 조회당 한 열로 제한됩니다.
- 첫 번째 일치 항목만 반환하므로 대규모 데이터셋에 중복된 키가 포함될 때 적합하지 않습니다.
- col_index_num은 고정 숫자로, 테이블에 새 열을 삽입하면 카운트가 이동하여 공식 반환을 깨뜨릴 수 있습니다.
- 텍스트 값과 숫자는 유형이 일치해야 하며, 그렇지 않으면 검색이 조용히 실패합니다.
보다 나은 기능을 위해서는 최신 Excel 버전에서 VLOOKUP 대신 XLOOKUP을 사용하는 것을 고려하십시오. XLOOKUP은 Microsoft 365 및 Excel 2021에서 사용할 수 있는 새로운 기능으로, 왼쪽 열과 첫 번째 일치 제한을 해결합니다. 그렇긴 하지만, VLOOKUP은 여전히 모든 Excel 버전에서 널리 지원되며, 대다수의 일상적인 조회에 대해 계속 올바르게 작동합니다.
개발자용: IronXL로 Excel 데이터 읽기 및 조회하기
.NET 또는 C# 개발자로 프로그램적으로 VLOOKUP 스타일 조회를 복제해야 하는 경우, IronXL은 Excel 스프레드시트를 읽고, 행을 반복하며, Microsoft Office나 Interop을 요구하지 않고 셀 값을 검색하는 깨끗한 API를 제공합니다.
NuGet을 통해 IronXL 설치하기:
Install-Package IronXL.Excel
다음 예시는 워크북을 로드하고, Excel 테이블에서 직원 ID 및 이름 쌍의 표를 읽고 =VLOOKUP(lookupId, A2:D9, 2, FALSE)와 동일한 조회를 수행합니다.
using IronXL;
// Load the workbook
WorkBook workBook = WorkBook.Load("vlookup_demo.xlsx");
WorkSheet sheet = workBook.WorkSheets[0];
// Define the data range (equivalent to table_array in VLOOKUP)
string lookupId = "E004";
string lookupColumn = "A"; // first column (Employee ID)
string returnColumn = "B"; // second column (Name)
int dataStartRow = 2;
int dataEndRow = 9;
string result = "Not Found";
for (int row = dataStartRow; row <= dataEndRow; row++)
{
// Read the cell value from the lookup column
string cellValue = sheet[$"{lookupColumn}{row}"].StringValue;
if (cellValue == lookupId)
{
// Return the corresponding value from the return column
result = sheet[$"{returnColumn}{row}"].StringValue;
break; // Return the first match, same as VLOOKUP
}
}
Console.WriteLine($"Employee Name: {result}");
// Output: Employee Name: David Lee
using IronXL;
// Load the workbook
WorkBook workBook = WorkBook.Load("vlookup_demo.xlsx");
WorkSheet sheet = workBook.WorkSheets[0];
// Define the data range (equivalent to table_array in VLOOKUP)
string lookupId = "E004";
string lookupColumn = "A"; // first column (Employee ID)
string returnColumn = "B"; // second column (Name)
int dataStartRow = 2;
int dataEndRow = 9;
string result = "Not Found";
for (int row = dataStartRow; row <= dataEndRow; row++)
{
// Read the cell value from the lookup column
string cellValue = sheet[$"{lookupColumn}{row}"].StringValue;
if (cellValue == lookupId)
{
// Return the corresponding value from the return column
result = sheet[$"{returnColumn}{row}"].StringValue;
break; // Return the first match, same as VLOOKUP
}
}
Console.WriteLine($"Employee Name: {result}");
// Output: Employee Name: David Lee
Imports IronXL
' Load the workbook
Dim workBook As WorkBook = WorkBook.Load("vlookup_demo.xlsx")
Dim sheet As WorkSheet = workBook.WorkSheets(0)
' Define the data range (equivalent to table_array in VLOOKUP)
Dim lookupId As String = "E004"
Dim lookupColumn As String = "A" ' first column (Employee ID)
Dim returnColumn As String = "B" ' second column (Name)
Dim dataStartRow As Integer = 2
Dim dataEndRow As Integer = 9
Dim result As String = "Not Found"
For row As Integer = dataStartRow To dataEndRow
' Read the cell value from the lookup column
Dim cellValue As String = sheet($"{lookupColumn}{row}").StringValue
If cellValue = lookupId Then
' Return the corresponding value from the return column
result = sheet($"{returnColumn}{row}").StringValue
Exit For ' Return the first match, same as VLOOKUP
End If
Next
Console.WriteLine($"Employee Name: {result}")
' Output: Employee Name: David Lee
이 접근 방식은 Excel에서 VLOOKUP이 작동하는 방식을 반영합니다: 데이터 범위의 첫 번째 열을 반복하고 동일한 행의 지정된 열에서 상응하는 값을 반환합니다. 대규모 데이터셋의 경우, 성능을 더 빠르게 하기 위해 사전 기반 조회로 확장할 수 있습니다.
IronXL은 또한 셀 주소 표기법을 사용하여 열 e와 기타 다른 열을 읽고, 명명된 테이블의 구조화된 참조를 통해 반복하며, Office 종속성 없이 결과를 XLSX로 내보낼 수 있습니다.
무료 체험판으로 시작하고 자신의 프로젝트에서 IronXL을 테스트하세요. 전체 문서는 ironsoftware.com/csharp/excel/에서 확인할 수 있습니다.
추가 읽기:
마무리
Excel에서 VLOOKUP 사용 방법을 아는 것은 ID 목록에서 이름을 가져오거나, 제품 ID에 가격을 일치시키거나, 직원 디렉터리에서 부서 데이터를 검색하는 등의 다양한 실용적인 워크플로를 열어줍니다. 고유 키를 사용하는 일상적인 조회의 경우, 정확한 일치(FALSE)는 거의 항상 올바른 시작점입니다. 범위 기반 결과가 필요할 때, 데이터가 오름차순으로 정렬된 경우 근사치 일치(TRUE)가 잘 작동합니다. 더 많은 유연성을 위해, INDEX MATCH 조합이나 Excel vlookup 내의 MATCH 함수를 중첩하면 왼쪽 열 제한을 완전히 제거합니다.
Excel 데이터를 대규모로 작업하는 .NET 애플리케이션을 개발하고 있다면, IronXL을 사용하여 한 줄의 Office Interop 코드 없이 Excel 스프레드시트에서 데이터를 읽고, 검색하고, 검색할 수 있습니다. 무료 체험판을 다운로드하여 애플리케이션에 스프레드시트 인텔리전스를 얼마나 빨리 추가할 수 있는지 확인하세요.




