%20no%20Excel.png)
Estou tentando imitar a maneira como uma célula "geral" mostra um ponto decimal apenas se houver casas decimais, mas quero separadores de milhares que "geral" não fornece. Estou usando uma string de formato numérico personalizado em um relatório SSRS: #,##0.######
. Quando o relatório é exportado para Excel, a string de formato aparece como [$-en-US,1]#,##0.######
. Remover a especificação de localidade não faz diferença para o meu problema.
Isso funciona, exceto por uma coisa: o Excel sempre exibe um ponto decimal, mesmo quando não há casas decimais. Dado o valor 1000.1
, ele é exibido 1,000.1
como eu pretendia. Mas dado o valor 10
, ele é exibido 10.
em vez de 10
.
É possível alcançar o que desejo?
Criei um arquivo .xlsx com a string de formato #,0.###
em duas células. Esta é a aparência do mesmo arquivo no Excel e no Calc:
Responder1
Você pode usar um formato condicional usado #,0
quando o valor é um número inteiro. Primeiro defina as células para usar o formato #,0.######
e, em seguida, adicione um formato condicional baseado em uma fórmula e use =MOD(A1, 1) = 0
onde A1 é a primeira célula do intervalo. Salvo quaisquer erros estranhos de arredondamento, ele retornará TRUE
quando o número não tiver fração e FALSE
caso contrário.