Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por wdamaral
#5583
Olá!

Estou quebrando a cabeça para desenvolver uma macro ou fórmula que solucione meu problema. Tenho uma aba onde são mostrados os dias com/sem vendas de produtos conforme abaixo.

A--------------------B-------------C------------D-------------E-------------F----------G--------H-------I---------J------------K
Caixa-------------- 5-------------0------------0-------------0-------------0----------3--------1-------2---------2------------1
Divisória----------0-------------1------------2-------------1-------------0----------3--------5-------2---------0------------1
Grampo-----------0-------------0------------0-------------1-------------0----------0--------0-------0---------0------------0

O que preciso é:
Contar o número de zeros que estão sequenciais quando estes forem maior que 2.
Por exemplo no ítem CAIXA, eu tive 4 dias que não vendi nenhuma unidade (em sequencia), neste caso a minha perda foi de 2 dias pois, dos 4 dias somente 2 ficaram acima.

Outro exemplo:
No ítem DIVISÓRIA eu tive 3 dias sem vendas mas em nenhuma delas teve sequencia de mais de 2 dias sem vendas, logo não tive perdas.

3º Exemplo:
Ítem GRAMPO eu tive 9 dias que não vendi porém, desses 9 a minha perda foi de 5 dias pois são os dias que fiquei sem vendas contando a partir de 2.

Não sei se fui claro, mas conto com a ajuda dos gurus do Excel.
Avatar do usuário
Por Parkeless
Posts Avatar
#5590
Boa tarde!

Difícil essa eim... ._.

Não consegui pensar em uma forma sem VBA... tenta essa função:
Código: Selecionar todos
Function Contarzeros(Intervalo As Range, Após_Ocorrencia As Integer)
Dim cell As Range
Dim contador As Integer

For Each cell In Intervalo
    If cell = 0 Then
        contador = contador + 1
        If contador > Após_Ocorrencia Then: Contarzeros = Contarzeros + 1
        
    Else
        contador = 0
    End If
Next cell

End Function
Cola o código em um módulo, vá em uma célula e digite:

"=Contarzeros( Intervalo ; Após_Ocorrencia )"
Sendo Intervalo = Range de células; Após_Ocorrência é a partir de qual zero contar, no seu caso, 2.

Estou anexando uma planilha com exemplo da aplicação.
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord