2013-07-30 1 views
0

조건을 현재 셀에 가장 가까운 셀 발견 - 수식을 할 수 1,2,3,8,35,7,8,3,5,7,xI 값의 행이

X는 내가 원하는 내가 어떻게 든 값을 좀하고 싶습니다

8이 X에 가장 가까운 행 (이 경우 4 행이 아니라 7 행)

match("8",A:A,0)을 사용하면 처음으로 일치하는 항목이 표시됩니다.

계산이 이루어지는 셀과 가장 일치하는 것을 어떻게 찾습니까?

+0

따라서 "8"의 마지막 위치를 갖고 싶습니다. – Juliusz

+0

네, 그게 내가 필요한 것입니다. –

답변

4

당신은 사용할 수 있습니다 :

{=MATCH(2,1/(A1:A10=8))} 

는 그냥 배열 함수이다 CTRL + Shift 키도록 +

대답은 MATCH 함수의 트릭과 행동을 기반으로 사용할 수를 입력해야합니다 기억하십시오. 나는 ozgrid에서 설명을 복사 할 수 있습니다 :

여기의 마법은 실제로 배열보다 더 많은 MATCH 함수에 있습니다. 일치 함수의 두 가지 흥미로운 속성이 여기서 사용됩니다.

1) MATCH를 사용하면 일치하는 항목이 없으면 함수는 배열의 마지막 값의 위치를 ​​반환하므로 = MATCH (8 , {1,2,3,4,5,6,7,6,5,4,3,2,1})이면 배열에 찾을 수있는 숫자가 없기 때문에 결과는 = 13입니다.

2) MATCH는 마지막 값의 위치를 ​​반환하지만 오류 (또는 공백 값)의 위치를 ​​반환하지 않으므로 = MATCH (8, {1,2,3,4, # DIV/0!, # DIV/0!, 7,6,5,4,3, # DIV/0!, # DIV/0!}), 11 번째 위치의 3이 마지막 배열의 값

그래서 daddylonglegs의 수식은 각 셀을 타르에 대해 검사합니다 배열 수식에서 (A1 : A13 = B1) 값을 가져와 셀이 일치하는 위치에 TRUE (또는 1), 나머지 위치에 FALSE (또는 0)의 배열을 제공합니다. 이것으로 1을 나누면 그 배열이 TRUE 일 때마다 1이되고 # DIV/0이면 1이됩니다. 배열이 거짓 일 때마다. 따라서 그의 수식은

= MATCH (2, {DIV/0!, # DIV/0!, # DIV/0!, # DIV/0!, 1,

배열에 '2'가 없으므로, 'DIV/0!', # DIV/0!, # DIV/0!, # DIV/0! 마지막 값 (1)이 9 번째 위치에서 발견되면 MATCH는 9를 반환합니다.

+3

안녕하세요! 오래전에 나는 그것을 기억하지 못한다. 그러나 Ozgrid에서 그 원래의 대답을 게시 한 것은 나였다. barry houdini = daddylonglegs! –

+1

"2 진 검색"작동 방식 때문에 설명 된대로 작동합니다. LOOKUP은이를 사용하므로 3 번째의 인수 1 (또는 생략) 또는 4 번째의 인수가 TRUE (또는 생략)의 VLOOKUP와 일치합니다. 이진 탐색은 매번 두 번씩 검색 범위를 나누어 검색하므로 값을 정렬해야하므로 빠른 검색을 제공합니다. 이것의 한 가지 부작용은 일치 항목이 없을 때 마지막 번호가 가장 큰 것으로 예상되기 때문에 ** 마지막 ** 번호가 선택된다는 것입니다 –

4

당신은 마지막 일치하면 A11

=MATCH(2,INDEX(1/(A1:A10=8),0))

[참고이 공식을 사용하려는 경우 : 값이 숫자 경우 다음 8 OK입니다 - 그들은 다음 텍스트 형식의 숫자를하는 경우 당신이 필요 "8"]

.... 또는 계산 셀의 양쪽에 값이 있습니까 (가장 가까운 값이 위 또는 아래 일 수 있습니다)?

+2

무엇을 의미합니까? 2는 무엇을 의미합니까? –

+0

실제로 아무 것도 입력 할 수 없습니다. 1 – Juliusz

+0

@ Julis하지만 0? – pnuts