
É possível fazer algo assim no Excel? Como uma lista de linhas ativas com um número ordinal.
Existe uma coluna B. Ela precisa mostrar um número ordinal que representa a linha ativa na planilha. Veja a imagem.
Se a linha estiver inativa, a coluna B não terá um número ordinal. Agora, quando euexclua algum número ordinalda coluna B, a ordem ordinal deve ser atualizada de acordo. Digamos que eu remova o texto da célula B7, como posso fazer com que a coluna B atualize seus valores. Veja a imagem.
É possível fazer isso de forma simples, sem precisar escrever muito código de script?
PS. Não sou um especialista em Excel, então seria ótimo se houvesse uma solução simples por meio das fórmulas incorporadas do Excel. :) PPS. esta função é semelhante à lista numerada do Word. Se eu excluir qualquer item da lista, os elementos subsequentes atualizarão seus valores de acordo.
EDITAR
A coluna A lista todas as tarefas de 1 a X. A coluna B lista as tarefas ativas. Eles são ordenados por seu status (ativo inativo). Quando termino uma determinada tarefa (exemplo, a 7ª tarefa), apenas excluo seu valor na coluna B e corrijo manualmente todos os números subsequentes. Assim sei quantas tarefas ativas tenho e quais estão ativas.
Por favor, diga se ainda não está claro e qual parte precisa de mais explicação!!!
PS. As tarefas estão descritas nas colunas C,D e E, mas essa parte não foi relevante aqui.
Responder1
Acho que seria mais fácil de gerenciar se você tivesse uma coluna extra onde pudesse simplesmente marcar se uma linha está ativa, digamos com um "x". Então você poderia ter a classificação ordinal de cada linha ativa calculada automaticamente na próxima coluna.
Por exemplo, se você fizer a Coluna B segurar "x"s para indicar que a linha está ativa, na Coluna C você poderá inserir o seguinte (in C2
):
=IF(B2="x",MAX(C$1:C1)+1,"")
Em seguida, preencha a coluna.
Responder2
Com base nas sugestões, encontrei a maneira certa e fácil de fazer isso. Apenas usando max
a função.
A fórmula é=MAX($B$X:BY)+1
Por exemplo, na célula B2 coloquei a fórmula =MAX($B$1:B1)+1
e depois copiei para todas as outras células da coluna B e pronto - consegui o que preciso. Posso excluir qualquer valor de célula e todos os subsequentes serão atualizados imediatamente.
Obrigado rapazes!
Responder3
Sem saber como a entrada chega lá ou para que está sendo usada, você pode tentar o seguinte:
Se você inseriu '1' na célula B1 e copiou a seguinte fórmula na célula B2:
=IF(B1 = "", OFFSET(B1,-1,0)+1,B1+1)
isso permitirá que você mantenha uma lista e exclua um único intervalo. Se você quisesse excluir 2 células, teria que adicionar outro bloco if para verificar cada célula anterior.
Observação: Offset
permite excluir o conteúdo de uma célula e 'saltar' uma na lista se a célula acima estiver vazia
Usar uma macro em loop proporcionaria maior escalabilidade.
Mais detalhes sobre o que você está tentando alcançar ajudariam muito.