Criando uma macro para segmentar a média dos dados em uma determinada coluna [closed]

0

Eu gostaria de criar uma macro que calcula a média dos valores de cada 12 itens em uma coluna em uma planilha do Excel, por exemplo, A1 - A12 then A13 - A24 etc, e coloca o resulta em células C12 , C24 e assim por diante.

Não sei como começar; você pode por favor avisar?

    
por rohith kotha 28.08.2018 / 22:49

3 respostas

5

Você não precisa de código para isso. Digite a fórmula Média na célula C12 =AVERAGE(A1:A12) . Em seguida, selecione C1 a C12 e arraste a alça de preenchimento.

Editar para esclarecimentos

A alça de preenchimento copiará o intervalo selecionado para baixo e reterá o padrão do intervalo selecionado. Nesse caso, as primeiras 11 células do intervalo selecionado estão em branco e apenas a 12ª célula contém uma fórmula. Se C1 a C12 for selecionado e a alça de preenchimento for arrastada para baixo, as próximas 11 células ficarão em branco e a célula C24 terá a fórmula. Arraste mais para baixo e serão mais 11 células em branco até que a célula C36 tenha a fórmula.

Esse é o padrão.

    
por 28.08.2018 / 23:17
2

Usando esta página como ponto de partida, você pode usar a fórmula com MOD() para obter suas médias.

A partir de C12, coloque esta fórmula e arraste para baixo:

=IF(MOD(ROW(),12)=0,AVERAGE(OFFSET($A1,(ROW()-ROW($C12))*12,,12,)),"")

Edit: vaca sagrada acima é um exagero. Use isso em vez disso:

=IF(MOD(ROW(),12)=0,AVERAGE(A1:A12),"")
    
por 28.08.2018 / 23:15
-2

Essas poucas linhas podem ajudar você a criar MACRO, para obter a média para cada 12 linhas.

Observação: Para obter Média para as primeiras 12 linhas, selecione qualquer célula da Linha 1, como B1, C1 ou D1, e execute este macro, depois preencha a célula para obter Média de outra. conjunto de 12 linhas.

Sub Average()
ActiveCell.Formula = "=AVERAGE(OFFSET($A$1, (ROW() - ROW($A$1)) * 12, 0, 12, 1))"
End Sub

Ou, você pode usar essa fórmula também como Solução não VBA .

C2 =AVERAGE(OFFSET($A$2,(ROW()-ROW($C$2))*12,,12,))

Editado: Ambas as soluções têm uma abordagem inteligente em que as linhas para obter Média são editáveis.

Por exemplo, se Average of every 16 rows precisar ser calculado, então para Solução não VBA *12,,12, deve ser substituído por *16,,16, Da mesma forma para a solução VBA *12,0,12,1 deve ser *16,0,16,1

N.B.

  • Preencha a fórmula Não VBA.
  • Ajustar referências de célula em Fórmula & Código conforme necessário.
por 29.08.2018 / 12:51