
A
두 개의 열 이 있고 B
. Column B
에는 Column 에서 조회해야 하는 값이 있습니다 A
. 그러나 정확한 해당 값을 찾을 필요는 없으며 다음으로 높은 값이 필요합니다.
예를 들어:
Column A Column B
2 3
4 4
5 5
7 6
8 8
9 9
5
따라서 컬럼의 값에 대해 컬럼에서 B
반환하고 싶습니다 .7
A
아마도 어떤 형태의 조회/인덱스 일치 함수가 필요할 것 같지만 공식을 직접 작성할 수는 없었습니다.
답변1
정렬됨
A
가장 간단한 공식은 열이 오름차순으로 정렬되는 경우입니다 .
다음 수식을 입력하고 C1
표의 나머지 열에 Ctrl-Enter/복사-붙여넣기/채우기/자동 채우기를 입력하세요.
=INDEX(A:A,1+MATCH(B1,A:A,1))
설명:
1
세 번째 인수로 는 첫 MATCH()
번째 인수보다 작거나 같은 가장 큰 값을 찾는 것을 의미합니다. 해당 색인에 추가하면 1
다음으로 높은 숫자의 색인이 생성됩니다. 그런 다음 함수 INDEX()
는 숫자를 추출합니다.
열 끝에 추가 값을 추가했습니다 A
. 이는 다음으로 더 높은 값이 없는 특별한 경우를 위한 것입니다.
정렬되지 않음
열이 정렬되지 않은 경우 A
(정렬된 경우에도 작동함) 수식은 좀 더 복잡합니다.
배열 에 다음 수식을 입력( Ctrl+ Shift+ ) 하고 테이블 열의 나머지 부분에 복사하여 붙여넣거나 채웁니다( 및 를 제거하는 것을 잊지 마세요 ).EnterC1
{
}
{=SMALL(IF($A$1:$A$6>B1,$A$1:$A$6),1)}
설명:
이 함수는 배열의 n번째로 작은 값을 반환합니다.SMALL(array,n)
부울 값 무시. IF()
함수 의 세 번째 인수에 대한 기본값은 이므로 FALSE
열의 값보다 큰 값만 B
검사하여 다음으로 높은 값이 됩니다.
열에 값보다 큰 값이 열에 없으면 오류가 발생하므로 열에 대한 특수 종료 값 A
은 필요하지 않습니다 .#NUM!
A
B
마지막으로, aventurin이 지적했듯이 정렬에 관계없이 작동하는 유사한 대체 공식이 있습니다(그러나 중요한 주의 사항이 있음).
엑셀 2016+의 경우:
=MINIFS($A$1:$A$6,$A$1:$A$6,">"&B1)
이는 MINIFS()
함수가 최소값을 추출하기 전에 기준과 일치하지 않는 값을 필터링하기 때문에 작동합니다.
이전 버전의 Excel:
{=MIN(IF($A$1:$A$6>B1,$A$1:$A$6))}
이는 함수와 같은 이유로 작동합니다 SMALL()
. 즉, 함수에 의해 생성된 부울 값을 무시합니다 IF()
.
경고:
0이 다음으로 높은 값이 될 수 있는 경우 =MINIFS()
및 수식은 모두 올바르게 작동하지 않습니다.{=MIN(IF())}
~이다다음으로 높은 값은 없습니다. (이것은 첫 번째 수식의 열 끝에 추가 값을 추가하는 것과 같은 이유입니다 A
. 더 높은 값이 없으면 해당 수식도 0을 반환합니다.)
답변2
예를 들어 배열 함수 {=MIN(IF(A1:A6 > B1; A1:A6))}
또는 {=MIN(IF(A1:A6 > B1; A1:A6; 1000))}
(대체 값으로 1000 사용)을 사용할 수 있습니다.
B1
열 B(여기 ) 의 현재 셀 값보다 큰 열 A의 모든 값 중 최소값을 취합니다 . 따라서 두 열 중 어느 것도 정렬되어서는 안 됩니다.
Excel >= 2016을 사용하면 이 기능을 사용할 수도 있습니다 MINIFS
.
배열 함수는 를 눌러 삽입해야 합니다 Ctrl+Shift+Enter
.