Notifications
Clear all

Cálculo da Estiagem Máxima

6 Posts
3 Usuários
0 Reactions
1,444 Visualizações
(@biogenia-k)
Posts: 4
New Member
Topic starter
 

Boa noite!

Tenho uma planilha com dados diários de precipitação (PPT) para um município. Preciso gerar dados de estiagem máxima no mês, ou seja, qual o número máximo de dias sem chover (valor zero) no mês. Em outras palavras, preciso selecionar as linhas correspondentes ao mês e descobrir qual o máximo de células consecutivas com valor zero eu tenho para esses dias. No caso de janeiro de 1984 (vejam início da planilha abaixo), a estiagem máxima seria de 10 dias (maior número de zeros consecutivos). O problema é que alguns meses têm 30 dias, outros 30 e fevereiro tem 28 ou 29. Por isso não dá para somar regularmente a cada 31 dias.

Tenho dezenas de planilhas como esta para trabalhar. Preciso encontrar uma forma de automatizar esse processo. Alguém poderia me ajudar com uma macro?

Obrigada.

Minha planilha está assim:

DATA PPT
01/01/1984 0
02/01/1984 0
03/01/1984 14
04/01/1984 3
05/01/1984 0
06/01/1984 0
07/01/1984 0
08/01/1984 0
09/01/1984 0
10/01/1984 4
11/01/1984 0
12/01/1984 0
13/01/1984 0
14/01/1984 0
15/01/1984 0
16/01/1984 0
17/01/1984 0
18/01/1984 0
19/01/1984 0
20/01/1984 0
21/01/1984 1,8
22/01/1984 16
23/01/1984 6
24/01/1984 14
25/01/1984 6
26/01/1984 14
27/01/1984 7
28/01/1984 19
29/01/1984 2
30/01/1984 0
31/01/1984 0
01/02/1984 0
02/02/1984 0
03/02/1984 0
04/02/1984 0
05/02/1984 0
06/02/1984 0
07/02/1984 13
08/02/1984 7
09/02/1984 0
10/02/1984 0
11/02/1984 0
12/02/1984 3
13/02/1984 0
14/02/1984 0
15/02/1984 22
16/02/1984 0
17/02/1984 0
18/02/1984 0
19/02/1984 0
20/02/1984 0
21/02/1984 0
22/02/1984 0
23/02/1984 0
24/02/1984 0
25/02/1984 0
26/02/1984 0
27/02/1984 0
28/02/1984 0
29/02/1984 0

 
Postado : 13/07/2016 4:36 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Disponibilize alguns arquivos como modelo

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 13/07/2016 4:47 pm
(@biogenia-k)
Posts: 4
New Member
Topic starter
 

Boa noite MPrudencio,

Segue uma planilha conforme solicitado.

Em linhas gerais, preciso que a fórmula calcule o número máximo de dias consecutivos sem chover no mês.

Obrigada.

 
Postado : 13/07/2016 6:49 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

A fórmu abaixo em F2 atende os seus critérios:

=MÁXIMO(FREQÜÊNCIA(SE((DESLOC($A$1;CORRESP(E2;$A$2:$A$20000;0);1;DIA(FIMMÊS(E2;0));1)=0)*(DESLOC($A$1;CORRESP(E2;$A$2:$A$20000;0);1;DIA(FIMMÊS(E2;0));1)<>"");LIN(DESLOC($A$1;CORRESP(E2;$A$2:$A$20000;0);1;DIA(FIMMÊS(E2;0));1)));SE(DESLOC($A$1;CORRESP(E2;$A$2:$A$20000;0);1;DIA(FIMMÊS(E2;0));1)>0;LIN(DESLOC($A$1;CORRESP(E2;$A$2:$A$20000;0);1;DIA(FIMMÊS(E2;0));1)))))

Por se tratar de fórmula matricial, deve ser inserida com CTRL+SHIFT+ENTER.

Entretanto, fiquei com dúvida com relação ao seu critério, pois você está analisando a estiagem no mês fechado, portanto o número máximo de dias de estiagem sempre ficará restrito a quantidade de dias do mês (No máximo 31), e não sei se isso é o que você quer, pois na minha opinião, pode haver um dia que chova e termine um ciclo de estiagem de mais de 31 dias.

De qualquer forma, baseado no seu criterio, a fórmula te atenderá.

Abraços!

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 14/07/2016 8:19 am
(@biogenia-k)
Posts: 4
New Member
Topic starter
 

Olá Issamu!

Muito obrigada pela ajuda. A fórmula "ninja" resolveu um problema que para mim era gigantesco. Será que consigo aplicá-la para obter a mesma informação por ano?

Abraços
Eugênia Kelly

 
Postado : 15/07/2016 4:03 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Olá Eugenia!

A fórmula para maior estiagem anual é:

=MÁXIMO(FREQÜÊNCIA(SE((DESLOC($A$1;CORRESP(DATA(I2;1;1);$A$2:$A$11927;0);1;CONT.SES(A:A;">="&DATA(I2;1;1);A:A;"<="&DATA(I2;12;31));1)=0)*(DESLOC($A$1;CORRESP(DATA(I2;1;1);$A$2:$A$11927;0);1;CONT.SES(A:A;">="&DATA(I2;1;1);A:A;"<="&DATA(I2;12;31));1)<>"");LIN(DESLOC($A$1;CORRESP(DATA(I2;1;1);$A$2:$A$11927;0);1;CONT.SES(A:A;">="&DATA(I2;1;1);A:A;"<="&DATA(I2;12;31));1)));SE(DESLOC($A$1;CORRESP(DATA(I2;1;1);$A$2:$A$11927;0);1;CONT.SES(A:A;">="&DATA(I2;1;1);A:A;"<="&DATA(I2;12;31));1)>0;LIN(DESLOC($A$1;CORRESP(DATA(I2;1;1);$A$2:$A$11927;0);1;CONT.SES(A:A;">="&DATA(I2;1;1);A:A;"<="&DATA(I2;12;31));1)))))

Fórmula Matricial é inserida com CTRL+SHIFT+ENTER.

Uma observação é que cada ano na base tem que ter o dia 01 de janeiro e o dia 31 de dezembro e deve estar classificado obrigatoriamente em ordem crescente.

Veja no arquivo.

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 18/07/2016 9:44 am