나는 대부분의 셀에서 0을 유지하는 10 열 17 행을 가진 배열을 스캔하려고합니다.
처음부터 끝까지 행을 스캔해야하며 시트의 L3 위치에서 숫자 1의 첫 번째 모양에 대한 색인 (행 1은 5)을 강조 표시해야합니다.
처음에는 값 1이 E10에 나타납니다.
나는 L3에서 5라는 값을 출력해야하는 열 E에서 처음으로 1을 검출 한 것에 대해 5의 값 (열 E10에 해당하는 1의 인덱스)을 얻기 위해 어떤 수식을 사용하는지 이해할 수 없습니다.
답변
이 방법이 효과가 있을지 모르지만 공식을 사용할 수는 있습니다.
= MATCH (1, A3 : J3,0)
L3에서 누른 다음 L20으로 끕니다. 결과는 검색 문자열의 첫 번째 항목이 발견 된 열을 표시합니다. 다음은 그 예입니다.
이 오히려 서투른 해결책이 작동하지 않는다면, 나는 당신이 원하는 것을 얻기 위해 사용자 정의 함수를 사용할 것이라고 생각하고 있습니다. 너무 어렵지 않을 것입니다. for / next 루프 몇 개만 있습니다. 아마도 그 코드를 쓸 수는 있지만 코드를 항상 작성하지는 않습니다. 잠깐 시간이 걸릴 수 있습니다.
답변
당신의 문제에 대한 해결책을 찾았습니다. 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에서 사용할 올바른 번호를 검색 할 수있는 “행”을 작성하는 데 사용됩니다
내 대답이 명확하지 않은 경우 항상 추가 질문을 할 수 있습니다.