Calcula a média condicional em células disjuntas

1

Eu gostaria de saber se o libreoffice calc tem a funcionalidade para calcular uma média condicional em células disjuntas. Um exemplo seria: Calcule a média para cada segunda célula na Linha1 se a Linha2 não contiver um x.

     | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9
--------------------------------------------------
Row1 |  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9
Row2 |  x |  x |    |    |    |  x |  x |    |    

Começando em C1, o resultado deve ser: média (3, 5, 9) = 5.666666 Começando em C2, o resultado deve ser: média (4, 8) = 6

Embora exista uma solução usando as instruções IF para cada célula, gostaria de saber se existe uma maneira mais conveniente de fazê-lo. Já procurei uma solução como LOOKUP ou COUNTIF, mas todas essas funções precisam de um intervalo consecutivo como entrada para os dados e a condição.

Espero que alguém possa ajudar.

[EDITAR]: Responder

Eu finalmente encontrei uma solução sozinha. O asnwer é usar a função SUMPRODUCT além de outra linha ou a função MOD :

=SUMPRODUCT(MOD(COLUMN(C1:C9), 2)=0, C1Row2:C9Row2<>"x", C1Row1:C9Row1)/SUMPRODUCT(MOD(COLUMN(C1:C9), 2)=0, C1Row2:C9Row2<>"x")

    
por pwagner 04.04.2013 / 15:01

2 respostas

2

Eu finalmente encontrei uma solução sozinha. O asnwer é usar a função SUMPRODUCT além de outra linha ou a função MOD:

=SUMPRODUCT(MOD(COLUMN(C1:C9), 2)=0, C1Row2:C9Row2<>"x", C1Row1:C9Row1)/SUMPRODUCT(MOD(COLUMN(C1:C9), 2)=0, C1Row2:C9Row2<>"x")
    
por 24.05.2013 / 09:46
0

Não tenho acesso imediato ao LibreOffice Calc. Você pode fazer isso no Microsoft Excel usando a função AVERAGEIFS e uma “linha auxiliar”. Eu escolhi a Linha 42. Na célula A42 , digite =MOD(COLUMN(), 2) e arraste / preencha isso para I42 (ou seja, longe o suficiente para corresponder a todos os seus dados; no seu exemplo, você mostra nove colunas). Isso deve fornecer uma sequência alternada de 1 , 0 , 1 , 0 ,… Então a resposta que você quer é

=AVERAGEIFS(A1:I1, A2:I2, "<>x", A42:I42, 1)

ou seja, a média dos valores dentro de A1:I1 para os quais o valor na Linha 2 não é "x" e o valor na linha 42 é 1.

Você disse "se a linha 2 não contém um x". Eu interpretei isso para dizer “se o valor correspondente na linha 2 não é x ”. Se você quer dizer “se o valor correspondente na Linha 2 não contiver um x ” (assim, palavras como "excel" e "fox" também invalidariam o valor correspondente na Linha 1), provavelmente você precisará de uma segunda "fila auxiliar" para lidar com isso.

    
por 05.04.2013 / 01:03