Inserindo N Valores em N Blocos

1

Eu tenho uma coluna com valores que repetem um número arbitrário de vezes antes do próximo bloco começar. Alguns desses blocos, no entanto, não contêm nenhum número. Enquanto todos os outros blocos são únicos, estes não são. Ou seja, cada bloco contém números que não ocorrem em nenhum outro bloco. Para corrigir isso, eu gostaria de encontrar uma maneira de dizer ao Excel para contar de 1 an e inserir esse número nos espaços em branco da coluna para cada 'bloco' em branco. Isso é algo que é factível sem o VBA?

Example:

123          
123         
123           
123
123





112
112
112
112
111
111
111
111





312
312
312

A ideia seria colocar vários 1s no primeiro espaço, vários 2s no segundo espaço e assim por diante.

    
por Max Power 16.10.2014 / 21:42

1 resposta

0

Como foi dito nos comentários, as fórmulas (funções de planilha) não podem modificar as células. Mas se você está satisfeito com exibindo os valores desejados, isso é fácil. Supondo que eu entenda o que você quer.

Se os dados estiverem na coluna A , começando na linha 1, digite

=IF(NOT(ISBLANK(A1)), A1, 1)

na célula B1 e

=IF(NOT(ISBLANK(A2)), A2, IF(NOT(ISBLANK(A1)), 1, B1+1))

na célula B2 , e arraste isso para baixo para cobrir os dados na coluna A (linha 26, para os dados da amostra) ou além (se você quiser). Isso obtém resultados como este:

Explicação:

  • Aprimeiralinhaédiferenteporquenãohálinhaanteriorparaexaminar.Aqui,seovaloremA1nãoestiverembranco,nósoexibiremos;casocontrário,exibiremos1.Maisgeralmente,

    Ifthevalueinthecelltotheleftisnotblank,displayit;otherwise,wedisplayagenerated,sequentiallyinsertednumber.

  • AcélulaB2segueestemesmopadrãogeral:seovaloremA2(acélulaàesquerda)nãoestiverembranco,exiba-o;casocontrário,exibirumnúmerogerado.Acláusula"else" (a fórmula "de outra forma") é

    IF(NOT(ISBLANK(A1)), 1, B1+1)
    

    Isso verifica se o valor na célula à esquerda e uma linha acima não estão em branco - isto é, se esta linha for a primeira de um bloco de linhas em branco. Se essa linha for a primeira de um bloco de linhas em branco, exibiremos 1 . Caso contrário, pegamos o valor da célula acima desta ( B1 ) e adicionamos 1 a ele (ou seja, contar).

por 16.10.2014 / 23:18