Gerando uma sequência numérica de 0 a 100 na prática
A sequência numérica de 0 a 100 é um dos recursos mais básicos e ao mesmo tempo mais subutilizados em planilhas e scripts. A maioria das pessoas precisa disso para preencher tabelas, criar listas de controle ou preparar dados para consultas. Parece simples, mas existem várias armadilhas que aparecem quando você começa a escalar o uso.
Como construir a sequencia numerica de 0 a 100
No Excel, a forma mais rápida é escrever 0 na célula A1, 1 na A2, selecionar as duas e arrastar o preenchimento automático até a linha 101. Isso leva cerca de 10 segundos. Uma alternativa mais eficiente para quem trabalha com isso frequentemente é usar a função =SEQUÊNCIA(101,,0) no Excel 365, que gera todos os números de uma vez sem ocupar múltiplas células manualmente. No Google Sheets funciona da mesma forma. Em Python, a coisa mais direta é list(range(101)). O detalhe importante aqui é o parâmetro stop ser exclusivo, então range(100) vai de 0 a 99 e range(101) vai de 0 a 100. Já vi gente errar isso várias vezes e ficar horas debugando porque faltava um número no resultado.
Para quem usa SQL e precisa gerar essa sequência como base para joins ou relatórios, a abordagem mais limpa em bancos modernos é usar uma CTE recursiva. No PostgreSQL, por exemplo: WITH RECURSIVE numeracao AS (SELECT 0 as n UNION ALL SELECT n+1 FROM numeracao WHERE n 100) SELECT * FROM numeracao;
👉 Clique no botão abaixo para saber mais sobre o assunto!
Isso retorna exatamente 101 linhas, de 0 a 100. Em MySQL 8.0+ o mesmo conceito se aplica, mas em versões mais antigas você precisa de uma tabela de números existente ou de uma workaround com UNIONs, o que é muito menos elegante. Na minha experiência trabalhando com integração de dados, o problema mais chatoso que já encontrei foi quando precisei gerar essa sequência e cruzá-la com registros que tinham lacunas temporais. A sequencia numérica de 0 a 100 funcionou como base, mas o dado real tinha ausências que distorciam médias móveis. A solução foi fazer um LEFT JOIN da sequência gerada com a tabela de eventos e tratar os NULLs resultantes como zero na agregação. Sem esse passo, os gráficos ficavam com saltos que pareciam quedas reais nos dados.
Pegadinhas que ninguém conta
O primeiro erro comum é confundir a contagem. Quando você pede "de 0 a 100" em muitas ferramentas, o comportamento padrão pode incluir o 100 ou não, dependendo da implementação. Em Python range(), em SQL com BETWEEN, em Excel com preenchimento automático — cada uma tem sua própria lógica. Sempre verifique o primeiro e o último valor gerado antes de confiar no resultado. Outro ponto: se você está usando isso dentro de um loop ou de uma consulta que roda milhares de vezes, gerar a sequência dinamicamente a cada execução é um desperdício. Cacheie o resultado. Eu vi queries que reconstruíam uma sequência de 0 a 100 a cada iteração e o tempo de processamento triplicar sem motivo aparente. Armazenar a sequência em uma tabela temporária ou variável resolve isso imediatamente.
Uma limitação séria que poucas pessoas consideram é a performance em bancos de dados mais simples. Gerar sequências recursivas pode causar estouro de pilha em implementações mal configuradas — o parâmetro MAXRECURSION no SQL Server, por exemplo, padrão é 100, então sua sequência para exatamente no 100 e falha silenciosamente se você tentar ir além. Sempre ajuste esse limite se precisar de mais linhas. Para uso cotidiano, a solução mais confiável e rápida continua sendo a geração manual no Excel ou a função SEQUÊNCIA. Para automação, prefira tabelas de dicionário pré-carregadas em vez de gerar sequências sob demanda. Isso economiza tempo de processamento e evita surpresas com parâmetros ocultos das ferramentas.