Radar IA 19 de outubro de 2026
✨ IA MÁGICA Agentes · Modelos · Automação
ÚLTIMAS
Modelos de Linguagem

Tabelas com celulas vazias e IA: como impedir inferencias indevidas

Celula vazia, zero e nao se aplica nao sao a mesma coisa. Veja por que a IA preenche a lacuna e como estruturar a tabela para nao induzir erro.

Tabelas com celulas vazias e IA: como impedir inferencias indevidas
Imagem: capa editorial — Modelos de Linguagem

Quando uma planilha com células vazias entra em um prompt ou em um pipeline de IA, o modelo tende a preencher a lacuna por conta própria: repete o valor da linha de cima, assume zero, herda a unidade da coluna ou soma “nada” como se fosse um valor. O resultado é um total ou uma média que parece confiável, mas foi inventado no ponto onde o dado simplesmente não existia. Célula vazia não é zero, não é nulo e não é “não se aplica”: são quatro estados diferentes, e a diferença se perde quando a planilha é convertida para texto.

A defesa é marcar a lacuna de forma explícita antes de entregar a tabela à IA, dizer no prompt o que cada marcador significa e testar o modelo com perguntas que exponham se ele inventou valor. Além disso, nenhuma lacuna decidida por modelo deve virar decisão de negócio sem uma conferência humana do que estava de fato preenchido.

Resumo rápido

  • Célula vazia, zero, nulo e “não se aplica” são estados distintos, com significados distintos.
  • A conversão de planilha para texto ou markdown costuma apagar essa diferença: o campo em branco vira espaço ou some.
  • O modelo preenche lacunas por padrão, porque foi treinado para produzir texto completo e plausível.
  • Marque a lacuna com um texto explícito, use uma coluna de situação e nunca deixe célula em branco sem marcador.
  • Teste perguntando total, média e quantidade de linhas preenchidas: as três respostas revelam inferência indevida.
  • Antes de decidir com base no dado, confira o que estava realmente preenchido na origem.

Vazia, zero, nulo e “não se aplica”: quatro coisas diferentes

Antes de culpar o modelo, é preciso separar os estados. O erro começa na planilha.

Estado O que significa Como o modelo costuma interpretar
Célula vazia Não há informação registrada. Pode ser esquecimento, desconhecimento ou dado não coletado. Grande risco: repete o valor da linha anterior, trata como zero ou ignora a linha.
Zero O valor medido é literalmente zero (vendeu zero unidades, gastou zero reais). Costuma acertar, porque zero é um número legítimo e visível.
Nulo Ausência de valor, de forma explícita: o dado não existe, não foi aplicável ou não foi coletado. Varia: alguns modelos respeitam “nulo”, outros somam como zero.
“Não se aplica” A pergunta não faz sentido para aquele item (não há meta de vendas para um mês fechado, por exemplo). Erro comum: tratar como valor faltante a ser estimado, quando não há nada a estimar.

A armadilha é que zero e vazio são fisicamente parecidos numa planilha que só mostra números: um campo sem conteúdo e um campo com o número zero são fáceis de confundir a olho nu, e completamente diferentes para quem lê o dado. Se a sua base não distingue “vendeu zero” de “não sabemos quanto vendeu”, nenhum modelo vai conseguir distinguir por você.

Por que a conversão apaga a diferença

O dado raramente chega ao modelo como planilha. Ele passa por uma conversão para texto, markdown, CSV ou um trecho colado no prompt, e é nesse caminho que a distinção se perde. Boa parte do trabalho de usar IA para planilhas, fórmulas e análises está justamente em não deixar o dado cru virar texto ambíguo.

Numa tabela markdown, uma linha de dados é escrita separando células por barras verticais. Uma célula vazia vira duas barras coladas ou um espaço entre barras. O resultado é ambíguo: dependendo do conversor e de como o modelo lê, aquilo pode ser “campo vazio”, “campo com espaço” ou, em casos de desalinhamento, uma célula a menos, o que desloca todas as colunas seguintes. Quando uma linha tem menos separadores que as outras, um parser pode encaixar os valores nas colunas erradas, e o modelo interpreta valor de uma coluna como se fosse de outra.

Há um detalhe sutil reforçando o problema: a especificação CommonMark, que define o markdown comum, não padroniza a sintaxe de tabelas, que vem de extensões. Isso significa que cada conversor e cada implementação trata a célula vazia de um jeito, e não existe um comportamento único garantido. O que funciona na sua ferramenta pode se comportar de outro modo na do colega.

Some a isso o CSV: um ponto e vírgula ou uma vírgula a mais, um campo vazio entre dois separadores, e a leitura pode deslocar colunas. A conclusão prática é que a conversão, sozinha, não preserva a diferença entre vazio, zero e “não se aplica”. Ela precisa ser reconstruída com marcadores explícitos.

Como o modelo preenche lacunas

Modelos de linguagem foram treinados para continuar texto de forma coerente. Diante de uma tabela com um buraco, a continuação “natural” é preencher o buraco com algo plausível. Alguns padrões se repetem:

  • Repetir o valor de cima: se a coluna vinha com valores e um deles falta, o modelo arrasta o último valor visto para a lacuna.
  • Assumir zero: ao somar uma coluna com lacunas, o modelo trata o vazio como zero e devolve um total “fechado”, que esconde a lacuna.
  • Herdar a unidade ou o rótulo da coluna: o cabeçalho diz “R$” ou “kg”, e o modelo completa a célula vazia com a unidade, como se houvesse valor.
  • Interpolar: com dois valores em volta de uma lacuna, o modelo pode calcular a média e usar como se fosse o dado real.
  • Ignorar a linha em silêncio: ao contar linhas, o modelo pode descartar a linha incompleta sem avisar, e a contagem fica menor sem que ninguém perceba.

Nenhum desses comportamentos é má-fé: é o efeito de pedir texto fluente a partir de dados com buracos. A saída é reduzir o espaço para a inferência, dando ao modelo uma instrução clara sobre o que fazer quando o dado não está lá.

Como estruturar a tabela para a conversão

A regra central é: nenhuma célula em branco sem marcador. Se o dado não existe, escreva que não existe.

Marque a lacuna explicitamente

Use um texto fixo e único para o vazio, como SEM_DADO, e outro para o que não se aplica, como NAO_APLICAVEL. Nunca deixe o campo em branco. Um marcador textual sobrevive à conversão para markdown e para CSV, e o modelo tem uma instrução concreta em vez de um buraco.

Use uma coluna de situação

Além do valor, mantenha uma coluna que diga o estado do dado: “confirmado”, “estimado”, “pendente”, “não se aplica”. Isso separa o número da confiança nele e permite que o modelo trate cada caso de forma diferente, em vez de misturar estimativa com valor medido.

Preserve a unidade no cabeçalho e na célula

Deixe a unidade no cabeçalho da coluna (“valor em reais”, “peso em kg”) e evite unidades soltas dentro das células, que confundem a leitura. Se houver mais de uma unidade na mesma coluna, separe em colunas distintas.

Defina no prompt o que cada marcador quer dizer

Instrua o modelo a não preencher marcadores, a não tratá-los como zero e a declarar quantas linhas ficaram sem dado. Se você usa saída estruturada, boa parte desse cuidado vem do próprio esquema. Na documentação do Structured Outputs da OpenAI, todos os campos precisam ser marcados como obrigatórios, e o jeito de representar um valor que pode estar ausente é usar um tipo que aceita nulo (união com null) em vez de simplesmente omitir o campo. Vale conferir a documentação do seu fornecedor antes de definir o esquema.

Como testar um modelo com tabelas que têm lacunas

Testar é simples e revela muito. Monte uma tabela pequena com lacunas marcadas e faça três perguntas de controle:

  • Qual é o total? Se a coluna tem lacunas marcadas, a resposta correta não é um número fechado. O modelo deve dizer que não dá para somar sem os valores ausentes, ou somar apenas o que está preenchido e avisar.
  • Qual é a média? Dividir pela contagem errada (incluindo a lacuna) muda o resultado. O modelo precisa decidir e declarar sobre quantos valores calculou.
  • Quantas linhas têm valor preenchido? Essa pergunta expõe a exclusão silenciosa de linhas incompletas. Se a tabela tem dez linhas e três lacunas, a contagem de preenchidas é sete, e o modelo deve chegar nisso.

Complemente com uma pergunta de recusa: peça um número de vendas de um mês cujo dado está marcado como ausente. Se o modelo inventa o número, você achou o problema antes de ele chegar à decisão. Esse tipo de bateria faz parte de um checklist para conferir respostas de IA e ajuda a reduzir a alucinação em IA, que é justamente o modelo preencher o que não sabe.

Exemplo: relatório de vendas de uma loja em Salvador

Uma loja de material de escritório em Salvador mantém uma planilha de vendas por mês e por categoria. Em alguns meses, a categoria “mobiliário” não teve movimento e a célula ficou em branco, sem ser preenchida com zero. Em um mês, o vendedor responsável estava de férias e o número ficou pendente, também em branco. A equipe monta um agente que lê a planilha e responde perguntas de gestão, como “qual foi o total do semestre?” e “qual categoria vendeu mais?”.

O que acontece: ao converter a planilha para texto e entregá-la ao modelo, as células em branco desaparecem do prompt. O modelo, para não deixar a resposta incompleta, arrasta o valor da linha de cima para os campos vazios e devolve um total do semestre que inclui valores que não existiam. O gestor olha o número, parece coerente com o resto, e assume que está certo. Semanas depois, ao planejar compras de estoque com base no relatório, percebe que a categoria de maior venda do relatório não bate com o que ele viu na loja. A lacuna virou decisão.

A correção é de estrutura, não de modelo. A planilha passa a marcar a célula vazia com um texto fixo (por exemplo, SEM_DADO) e a ter uma coluna de situação dizendo se o mês estava sem movimento ou pendente. O prompt informa que o marcador nunca deve ser preenchido e que totals só podem ser calculados sobre os valores preenchidos, com a contagem declarada. O agente passa a responder “o total considerando os meses com dado é X, e 2 meses estão sem dado”, em vez de entregar um número fechado e silencioso. O efeito observado pela equipe é que as lacunas param de virar dado inventado; os valores exatos dependem da base de cada loja e não fazem parte deste exemplo.

Esse caso é diferente do problema de células mescladas, tratado em outro material do site. Célula mesclada é uma célula que ocupa várias linhas ou colunas, com impacto na estrutura e no deslocamento de posições. Célula vazia é uma célula existente cujo conteúdo não foi preenchido. As duas quebram a leitura da tabela, mas exigem correções distintas: a mesclada pede desdobramento na conversão, a vazia pede marcador explícito.

Erros comuns

  • Confundir vazio com zero. São estados diferentes. “Vendeu zero” e “não sabemos” nunca devem virar o mesmo número.
  • Deixar a célula em branco sem marcador. É o convite para o modelo inferir. Escreva que o dado não está lá.
  • Não dar a unidade nem o significado no prompt. Sem contexto, o modelo herda a unidade da coluna e completa o que falta.
  • Confiar no total sem pedir a contagem. Um total fechado pode esconder lacunas somadas como zero. Sempre pergunte sobre quantos valores o cálculo foi feito.
  • Misturar “não se aplica” com “faltante”. O que não se aplica não deve ser estimado; o que falta pode ser buscado ou marcado como pendente.
  • Converter a planilha e perder a estrutura. Uma célula a menos desloca colunas inteiras. Confira a conversão antes de mandar ao modelo.
  • Levar o número direto para a decisão. Todo dado que passou por inferência deve ter uma conferência humana do que estava de fato preenchido na origem.

Perguntas frequentes

Célula vazia é o mesmo que zero?

Não. Zero é um valor medido: vendeu zero unidades. Célula vazia é ausência de informação: ninguém registrou, ou o dado não foi coletado. Tratar as duas como iguais distorce somas e médias.

Por que o modelo inventa um valor no lugar do vazio?

Porque modelos de linguagem são treinados para produzir texto coerente e completo. Diante de um buraco, a continuação mais natural é preencher com algo plausível, seja repetindo o valor acima, assumindo zero ou herdando a unidade da coluna.

Como impedir que a conversão para markdown apague a diferença?

Marcando a lacuna com um texto explícito, como SEM_DADO, em vez de deixar o campo em branco. O marcador sobrevive à conversão e dá ao modelo uma instrução concreta em vez de um espaço ambíguo.

Qual a diferença entre célula vazia e célula mesclada?

Célula mesclada ocupa várias linhas ou colunas e altera a estrutura, deslocando posições na conversão. Célula vazia existe na posição certa, só não tem conteúdo. A correção difere: a mesclada pede desdobramento, a vazia pede marcador.

Posso confiar no total que o modelo calcula?

Só depois de conferir quantas linhas tinham valor e se as lacunas foram respeitadas. Peça ao modelo o total e a contagem, e compare com a planilha original. Total sem contagem declarada esconde lacuna.

Saída estruturada resolve o problema sozinha?

Ajuda, mas não sozinha. Um esquema bem definido obriga o modelo a dizer se um campo está ausente em vez de omiti-lo, mas só funciona se a tabela de origem já distinguir os estados. A estrutura cuida da forma; o dado precisa vir limpo da origem.

Leia também

Para aprofundar o tema deste artigo, veja tambem:

Fontes e leitura recomendada

Sobre

A Redação IA Mágica é formada por especialistas e pesquisadores em inteligência artificial aplicada, agentes autônomos, automações no-code/pro-code e grandes modelos de linguagem (LLMs). Nossos conteúdos cobrem implementações reais, análises e tutoriais aprofundados para profissionais e empresas.