색인 - 일치 명령 구문


2

나는 대부분의 셀에서 0을 유지하는 10 열 17 행을 가진 배열을 스캔하려고합니다.

처음부터 끝까지 행을 스캔해야하며 시트의 L3 위치에서 숫자 1의 첫 번째 모양에 대한 색인 (행 1은 5)을 강조 표시해야합니다.

처음에는 값 1이 E10에 나타납니다.

나는 L3에서 5라는 값을 출력해야하는 열 E에서 처음으로 1을 검출 한 것에 대해 5의 값 (열 E10에 해당하는 1의 인덱스)을 얻기 위해 어떤 수식을 사용하는지 이해할 수 없습니다.

enter image description here


범위의 유일한 값이 0 또는 1이면 범위를 합할 수 있습니다. = SUM (A3 : J20)
BillDOe

친애하는 BillOer, 나는 합계를 찾고있는 것이 아니라 행렬의 위에서 아래로 모든 행을 위에서부터 아래로 스캐닝하는 동안 "1"의 모양의 첫 번째 인스턴스를 식별하고 싶습니다. 그리고 첫 번째 인스턴스가 발견되면 시트의 맨 위 행에있는 색인을 식별합니다 (식별자이며 행렬의 일부가 아닙니다.) 이것은 첫 번째 1이 E10에 나타날 때 L3 위치에서 E1의 값을 인쇄하고자하는 이유입니다.
Pankaj Kumar

답변:


0

이 방법이 효과가 있을지 모르지만 공식을 사용할 수는 있습니다.

= MATCH (1, A3 : J3,0)
L3에서 누른 다음 L20으로 끕니다. 결과는 검색 문자열의 첫 번째 항목이 발견 된 열을 표시합니다. 다음은 그 예입니다.

enter image description here

이 오히려 서투른 해결책이 작동하지 않는다면, 나는 당신이 원하는 것을 얻기 위해 사용자 정의 함수를 사용할 것이라고 생각하고 있습니다. 너무 어렵지 않을 것입니다. for / next 루프 몇 개만 있습니다. 아마도 그 코드를 쓸 수는 있지만 코드를 항상 작성하지는 않습니다. 잠깐 시간이 걸릴 수 있습니다.


0

당신의 문제에 대한 해결책을 찾았습니다. L3에서 다음 수식을 사용하십시오.

=INDEX(A1,J1,1,MATCH(1,INDIRECT("A"&SMALL(IF(A3,J20=1,ROW(A3,J20),5000),1)&":J"&SMALL(IF(A3:J20,ROW(A3:J20),5000),1)),0))

설명:

  • A1 : J1이 조회 범위입니다.
  • 1은 조회 행입니다.
  • SMALL(IF(A3:J20=1,ROW(A3:J20),5000);1) 1을 포함하는 모든 행을 찾은 다음 가장 작은 것을 반환합니다 (이 배열에서 가장 작은 수인 경우 틀린 옵션이 있는지 확인하기 위해 5000을 추가했습니다)
  • INDIRECT 함수는 MATCH가 INDEX에서 사용할 올바른 번호를 검색 할 수있는 "행"을 작성하는 데 사용됩니다

내 대답이 명확하지 않은 경우 항상 추가 질문을 할 수 있습니다.


세미콜론 대신 쉼표로 사용하면 안됩니까?
BillDOe

네, Excel 버전의 네덜란드어를 사용하고있어 죄송합니다. 세미콜론이 분리 자로 사용됩니다. 방금 내 대답을 편집 했으므로 지금은 괜찮을 것입니다.
Michthan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.