2016-07-21 3 views
-1

입니다. 각 행에 대해 하나씩 존재하는 0의 평균 빈도를 계산하려고합니다. 나는 주파수의 조합을 사용했다 & 평균 줄무늬 (1 또는 0) 및 최대 줄무늬 (1과 0 중)를 계산하는 열 함수. 1-0-1의 어떠한 시퀀스가 ​​발생하지 않기 때문에, 예를 들면칼럼을 가로 지르는 값의 평균 빈도는

Data Table

행 2,3,4- & 6은 생략한다. 행 5,7 & 8은 1-0-1의 시퀀스를 갖는다. 이들을 위해, 나는 각 행에 대해 1 사이의 0의 평균 카운트를 계산하는 방법으로서 확신 할 수 없다.

도움을 주시면 감사하겠습니다.

건배

답변

0

배열 수식을 사용하여 창의력을 발휘할 수 있습니다. 예를 들어 배열 수식 (Ctrl + Shift + Enter)으로 셀 T2에이 괴물 수식을 입력하고 채워보십시오.

너무 많은 세부 사항으로가는없이
=IFERROR( 2 * AVERAGE( IF(($B2:$R2=0)*($C2:$S2=1)*COLUMN($B2:$R2)*(COLUMN($B2:$R2) > COLUMN($B2)+MATCH(1,$B2:$S2,0)-1) - ($B2:$R2=1)*($C2:$S2=0)*COLUMN($B2:$R2)*(COLUMN($B2:$R2) < MAX(COLUMN($B2:$S2)*($B2:$S2=1))) <> 0, ($B2:$R2=0)*($C2:$S2=1)*COLUMN($B2:$R2)*(COLUMN($B2:$R2) > COLUMN($B2)+MATCH(1,$B2:$S2,0)-1) - ($B2:$R2=1)*($C2:$S2=0)*COLUMN($B2:$R2)*(COLUMN($B2:$R2) < MAX(COLUMN($B2:$S2)*($B2:$S2=1))) ) ), 0) 

,이 벌어지고있는 것입니다 :

  • ($B2:$R2=0)*($C2:$S2=1)*COLUMN($B2:$R2) -이에 대한 열 번호의 배열을 반환합니다 경우 0에서 1 행의 전환 (행진의 끝) . 마찬가지로 - ($B2:$R2=1)*($C2:$S2=0)*COLUMN($B2:$R2)은 행에 1에서 0 (줄무늬 시작)이 전환되는 열 번호를 빼고 음수 열 수를 빼기 위해 빼는 것입니다.
  • 양수와 음수의 각 쌍을 합하면 줄무늬 길이가 표시됩니다. 합계를 줄 수로 나눈 값은 평균 줄무늬 길이를 나타냅니다. 더 단순하게 2 배의 모든 긍정적 인 & 음수 열의 평균은 동일한 결과를 줄 것입니다.
  • 행의 앞과 뒤의 0은 문제가 있으므로 무시하려면 추가 마스크가 추가됩니다. *(COLUMN($B2:$R2) > COLUMN($B2)+MATCH(1,$B2:$S2,0)-1)은 선행 0을 무시하고 *(COLUMN($B2:$R2) < MAX(COLUMN($B2:$S2)*($B2:$S2=1)))은 후행 0을 무시합니다.
  • 평균 계산에 0이 포함되어 있지 않으므로 AVERAGE(IF(exp <> 0, exp))이 사용됩니다.이 값은 불행히도 수식의 크기를 두 배로 만듭니다.
  • 마지막으로 줄무늬가 없으면 오류가 발생하므로 IFERROR(exp, 0)이 사용됩니다.
+0

멋진. 적용된 설명에 대해 감사드립니다. –

0

당신은 1과 =COUNT($B5:$S5)이 숫자를 계산하는 계산 예를 =COUNTIF($B5:$S5, 1)을 위해 사용할 수 있습니다. FREQUENCY 기능을 살펴볼 수도 있습니다.
질문에 답을 얻지 못하면 더 작은 예제와 그 결과로 예상되는 숫자를 제공하십시오.