Menu

엑셀 HLOOKUP 함수 사용법: 행 방향 조회와 예제

=HLOOKUP("Mar",A1:E3,2,FALSE)는 A1:E3의 첫 행에서 Mar를 찾아 같은 열의 두 번째 행 값을 반환합니다. 정확히 일치와 유사 일치, XLOOKUP이 더 나은 경우를 알아봅니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=HLOOKUP("Mar",A1:E3,2,FALSE)는 A1:E3의 첫 행에서 Mar를 찾아 같은 열의 두 번째 행 값을 반환합니다. 라벨이 위쪽에 가로로 놓인 표를 위한, VLOOKUP을 옆으로 눕힌 함수입니다.

한 달의 매출
B6
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4
5MonthMar
6Sales4,800
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

B6은 1행에서 Mar를 찾아 D열에서 발견하고, 그 열의 2행 값인 4,800을 반환합니다. B5에서 Apr를 고르면 5,100이 나오고, 수식의 2를 3으로 바꾸면 비용이 나옵니다.

HLOOKUP 구문

=HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
  • lookup_value: 표의 첫 행에서 찾을 값입니다.
  • table_array: 표입니다. HLOOKUP은 맨 위 행에서만 검색합니다.
  • row_index_num: 반환할 행으로, 맨 위 행을 1로 셉니다. 표의 높이보다 큰 번호는 #REF!를, 0은 #VALUE!를 냅니다.
  • range_lookup: 정확히 일치는 FALSE, 정렬된 행에서 유사 일치는 TRUE 또는 생략입니다.

일치는 대소문자를 무시하며(mar도 Mar를 찾음), FALSE를 쓰면 찾는 값에 와일드카드 *와 ?를 쓸 수 있습니다. 첫 행에 없는 값은 #N/A를 반환합니다.

행 방향 유사 일치

TRUE를 쓰면 HLOOKUP은 찾는 값보다 작거나 같은 머리글 중 가장 큰 것을 찾습니다. 첫 행은 왼쪽에서 오른쪽으로 오름차순 정렬되어 있어야 합니다.

무게별 배송비
B5
ABCDE
1Weight from (kg)02510
2Cost$4.50$6.00$9.50$14.00
3
4Parcel (kg)7
5Cost$9.50
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

7kg은 머리글에 없습니다. 그보다 크지 않은 가장 큰 머리글은 5이므로 B5는 $9.50을 반환합니다. B4를 1.5로 바꾸면 $4.50, 12로 바꾸면 $14.00이 나옵니다. 수식의 표는 A1:E2가 아니라 B1:E2입니다. A1의 텍스트 라벨이 정렬된 행에 포함되지 않도록 첫 무게에서 시작합니다.

XLOOKUP으로 행 방향 조회

Excel 2021과 Microsoft 365에서는 XLOOKUP이 HLOOKUP을 대신합니다. 검색할 행과 반환할 행을 범위 두 개로 받으므로 세어야 할 행 번호가 없고, 여러 행 높이의 반환 범위를 주면 열 전체를 가져옵니다.

XLOOKUP으로 같은 조회
B7
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4Profit1,6001,4001,9002,100
5
6MonthFeb
7Figures3,900
82,500
91,400
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

B7의 수식 하나가 Feb의 세 수치 3,900, 2,500, 1,400을 B7:B9로 분산합니다. B8이나 B9에 무언가가 있으면 B7에 #SPILL!이 나옵니다. 찾지 못했을 때의 메시지나 마지막 일치 같은 다른 옵션은 XLOOKUP 페이지에서 다룹니다.

대신 표를 돌리기: TRANSPOSE

때로는 표를 세로로 복사하는 편이 더 나은 해결책입니다. =TRANSPOSE(A1:D3)는 행과 열을 바꾼 같은 셀들을 반환하며, 원래 표와 연결된 상태로 남습니다. 그러면 VLOOKUP, FILTER, 차트를 평소처럼 쓸 수 있습니다.

가로 표의 세로 복사본
A5
ABCD
1MonthJanFebMar
2Sales4,2003,9004,800
3Costs2,6002,5002,900
4
5MonthSalesCosts
6Jan4,2002,600
7Feb3,9002,500
8Mar4,8002,900
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

A5는 4행 3열 블록을 분산합니다. 월이 세로로, Sales와 Costs가 가로로 놓입니다. C2에 있는 Feb의 매출을 4100으로 바꾸면 복사본이 따라 바뀝니다. 수식 없이 한 번만 복사하려면 표를 선택해 복사한 뒤 홈 > 붙여넣기 > 선택하여 붙여넣기를 열고 행/열 바꿈에 체크하세요.

연습: 한 달의 비용

월별 수치
B6
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4
5MonthApr
6Costs
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: B6에서 HLOOKUP으로 B5 달의 비용을 반환하세요.

자주 묻는 질문

VLOOKUP과 HLOOKUP은 무엇이 다른가요?

VLOOKUP은 표의 첫 열을 아래로 검색해 오른쪽 열의 값을 반환합니다. HLOOKUP은 첫 행을 가로로 검색해 아래쪽 행의 값을 반환합니다. 인수는 같고, 열 번호 대신 행 번호를 씁니다.

HLOOKUP의 행 번호는 무엇인가요?

반환할 행의 번호로, 표의 첫 행을 1로 셉니다. =HLOOKUP("Mar",A1:E3,3,FALSE)에서 3은 A1:E3의 세 번째 행을 뜻합니다. 표의 높이보다 큰 번호는 #REF!를 반환합니다.

XLOOKUP이 HLOOKUP을 대신할 수 있나요?

있습니다. XLOOKUP은 어느 방향으로든 동작합니다. =XLOOKUP("Mar",B1:E1,B2:E2)는 한 행을 검색해 다른 행에서 값을 반환합니다. Excel 2021이나 Microsoft 365가 필요합니다.

HLOOKUP이 #N/A를 반환하는 이유는 무엇인가요?

찾는 값이 표의 첫 행에 없기 때문입니다. 오타, 남는 공백, 텍스트로 저장된 숫자, 다른 행에 있는 값이 원인입니다. 마지막 인수가 TRUE이면 첫 머리글보다 작은 값도 #N/A를 반환합니다.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기