2012-12-10 4 views
1

TRUE FALSE 문을 기반으로 범위의 하위 집합을 식별하려고합니다. 아래의 차트는 그 예입니다.TRUE 문을 사용하여 범위의 하위 집합 식별

FALSE FALSE 1.21147 
TRUE FALSE 1.20984 
FALSE FALSE 1.21083 
FALSE FALSE 1.210315 
FALSE TRUE 1.21151 
FALSE FALSE 1.21335 
FALSE FALSE 1.213515 
FALSE FALSE 1.212435 
TRUE FALSE 1.212125 
FALSE FALSE 1.21226 

이 시나리오에서는 대체 TRUE 문을 기반으로 하위 집합을 식별하고자합니다. 왼쪽 열에서 첫 번째 TRUE 문은 하위 집합의 시작을 트리거하고 두 번째 열의 TRUE 문은 하위 집합의 끝을 트리거합니다. 그런 다음 간단한 max 함수를 사용하여 세 번째 열의 MAX를 식별하려고합니다. IF 문을 사용하여 첫 번째 TRUE 문이 올바른지 여부를 확인하지만 두 번째 열의 TRUE 문을 기반으로 범위의 하위 집합을 식별하는 방법을 알 수 없습니다. 나는 또한 성명서가 맨 아래로 갈 수있는 작업 일지라도이 작품이 위에서 아래로가는 지 여부를 알고 싶다. 어떤 도움이라도 대단히 감사 할 것입니다.

답변

1

1 부 내가 셀 A2에서 시작 위치 데이터를 가정 한이 예를 들어 MATCH, OFFSETMAX

의 조합을 사용하여 수행 할 수 있습니다.

명확성을 위해 셀 E1:E4에서 일부 중간 결과를 사용합니다. 단일 화학식을 선호하는 경우, 단순히 항목에서 항목의 최종 식으로 제 TRUEA

=MATCH(TRUE,A2:A11,0) 

E3 = 총수 제 TRUE

E2 = 총수 중간 화학식 병합 B

=MATCH(TRUE,B2:B11,0) 

결과 수식, 행의 최대 값은 C에 있습니다. 4,266,273,210 및 E3 (포함)

=MAX(OFFSET($C$1,E2,0,E3-E2+1,1)) 

2 부은 더 까다 롭습니다 : 난 당신이 값을까지 범위를 를 검색 할 수 있습니다 생각하지 않습니다. 그러나 데이터를 살펴보면 초를 검색 할 수 있습니다.TRUE?이 후 OK 인 경우

E4 = 컬럼 A

=MATCH(TRUE,OFFSET(A2:A11,E2,0),0) 

에서 제 TRUE의 위치 또는이, 마지막 TRUE를 얻을 것이다 (배리 Insipred) 배열 수식으로 입력 열

=MATCH(2, 1/(A2:A11=TRUE),1) 

결과 수식 E3 및 0123에서 발견 된 행 사이에 열 C 최대 값

=MAX(OFFSET($C$1,E3,0,E4+E2-E3+1,1)) 
+1

지난 TRUE 시도 = MATCH의 위치를 ​​검색하려면 (포함)(2, 1/(A2가 : A11은 = TRUE)), 배열 –

+0

를 입력 http://stackoverflow.com/users/445425/chris -neilsen 이것은 당신의 도움에 완벽하게 감사했습니다. –

0

아래쪽에서 테이블을 횡단하여 나 혼란스러워하는 부분과 두 개 이상의 부분 집합을 가질 수 있는지도 모르는 경우가 있습니다. 마지막에서 두 번째 행은 새 하위 집합의 여는 것 같습니다. 닫은. 어쨌든 이것이 도움이되기를 바랍니다. 나는 당신이 매크로를 사용하고 싶지 않다고 가정하고 있는데, 사소한 일이다. 당신이 할 수있는 일은 패드, 0, 0, FALSE FALSE가 포함 된 행과 데이터 세트의 상단에, 그리고 당신의 세트의 첫 번째 행으로 시작하는 네 번째 열이 수식을 추가 :

=IF(AND(NOT(A2),NOT(B2),OR(D1=0,AND(NOT(A1),B1))),0,C1) 

입니다 첫 번째 행이 2 행이고 1 행이 패딩에 사용된다고 가정합니다. 예제에서 A, B 및 C는 세 개의 열이고 D는 세 번째 열의 값을 하위 집합에 포함하면 인쇄하고 그렇지 않으면 0으로 인쇄하므로 max() 또는 원하는 값을 쉽게 계산할 수 있습니다. 해야 할 것. I는 다음과 같습니다

enter image description here