Ir ao conteúdo
  • Cadastre-se

Excel contar células ocupadas e separa-las em grupo


Ir à solução Resolvido por Midori,

Posts recomendados

ajuda.xlsx

Boa tarde!

 

gostaria que criar uma formula no qual o Excel conte quantas células estão sendo ocupadas em um linha de 27 colunas e a separasse em até 9 grupos por exemplo:

Tenho uma tabela com 27 colunas e em umas das linhas tem 21 células preenchidas e eu quero que o Excel conte quantos grupos foram formados e indique quantas células foram preenchidas em cada grupo com na linha a baixo:

 

 

                                                                                                                grupo 1 - grupo 2 - grupo 3 - grupo 4 - grupo 5- grupo 6 - ...

1,2,3,4, ,6,7,8, , ,11,12,13,14, ,16, ,17,18, ,19,20,21,  ,23,24,25, ,27         4             3              4               1             2              3

 

 e assim por diante até terminarem os grupos.

 

 

 

obs: não é necessário contar os grupos de células que não tenha pelo menos 2 células preenchidas e não haverá mais que 9 grupos.

ou caso seja mais fácil o Excel contar apenas números em sequencia caso haja interrupção desta sequencia ele pare e volte a contar ainda na mesma linha caso haja outros números que formem uma sequencia de pelo menos 2 números.

anexei um arquivo para modelo.

desde ja obrigado

Link para o comentário
Compartilhar em outros sites

@Guto Lima Com macro é mais simples, mas se quiser com fórmula cheguei nestes resultados com range auxiliar e fórmulas compatíveis com o Excel 365,

 

ima01.thumb.png.091eab0b2af776abc12f6cab871272b9.png

 

 

ima02.png.d84b4a99d8310f24ebce0061cf4a1278.png

 

=SE(EMPILHARH(SE(A2:AA2<>0;1;0);{0})=1;EMPILHARH({0};AC2:BC2)+1;0)

 

=DIVIDIRTEXTO(UNIRTEXTO(",";VERDADEIRO; SE(SE(AC2#=0;DESLOC(AC2#;;-1);"") <=1;"";SE(AC2#=0;DESLOC(AC2#;;-1);"") ) );",")

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@midori nossa! o excel que utilizamos aqui é 2016 e estas formulas não funcionam.

seria possível então realizar esta mesma ação com vba-macro no excel 2016? se sim tem como me ajudar?, sou muito leigo em vba. 

porém testei a formula no meu computador pessoal e funcionou direitinho, mas infelizmente tenho que usar o da empresa.

 

desde ja agradeço!!

Link para o comentário
Compartilhar em outros sites

  • Solução

@Guto Lima Com macro fica assim,

 

Sub ContaGrupos()
    Dim Area    As Range
    Dim Lin     As Long
    Dim Col     As Integer
    Dim Conta   As Integer
    Dim ColGrp  As Integer
    
    Set Area = [A2:AA15]
    
    For Lin = 1 To Area.Rows.Count
        ColGrp = Area.Columns.Count + 2
        Conta = 0
        For Col = 1 To Area.Columns.Count
            If Area(Lin, Col).Value <> "" Then
                Conta = Conta + 1
            Else
                If Conta > 1 Then
                    Cells(Area.Rows(Lin).Row, ColGrp) = Conta
                    ColGrp = ColGrp + 1
                End If
                Conta = 0
            End If
        Next Col
        If Conta > 1 Then
            Cells(Area.Rows(Lin).Row, ColGrp) = Conta
        End If
    Next Lin
End Sub

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!