O que a fórmula TEXT formata como "?" fazer?

O que a fórmula TEXT formata como "?" fazer?

O que significa formatar texto como "?" realmente faz? Tudo o que sei é que aparecerá uma célula em branco quando o valor avaliado for 0.

=TEXT(IF(condition,1,0),"?")

Responder1

Além de ser usado para frações, é usado para deixar um espaço para zeros não significativos à esquerda e à direita da vírgula decimal. Isso é útil se você estiver usando uma fonte fixa e quiser alinhar os decimais, mas não mostrar os 0, como faria com um formato de0000.0000

Por exemplo, com as células abaixo formatadas como ????.????e Courier Newpara a fonte, veja como os decimais estão alinhados, mas os zeros à esquerda e à direita não são exibidos.

insira a descrição da imagem aqui

Responder2

Uma pergunta muito interessante. Fiz alguns testes e verifiquei o que representa para poder responder a parte what does it doporém não consigo responder com certeza a why does it existparte.

Dê uma olhada em meus dados de amostra:

insira a descrição da imagem aqui

Ambas as linhas B e C parecem corresponder, o que mostra que:

=TEXT(value,"?")é equivalente a=(IF(ROUND(value,0)=0," ",ROUND(value,0))

Tenha em mente, embora possa ser óbvio, que TEXT() sempre converterá os dados em texto, e não será mais numérico.

Meu palpite sobre por que ele existe é pela =TEXT(value,"?/?")opção de formatação. Nesta opção você deseja exibir uma fração apenas se o resultado não estiver em branco. Se algum dos pontos de interrogação estiver em branco, ele retornará um espaço.

Responder3

Por que, considere o que o "?" destina-se a fazer. O objetivo é fazer exatamente o que Ron Rosenfeld diz:

1) Permita que um espaço de caracteres seja mantido independentemente da saída. Portanto, o uso mais comum é "criar uma guia decimal" análoga à "coisa real" no Word, para que todas as suas entradas sejam alinhadas em seus decimais e exibam quantas casas decimais você desejar.

2) Como um desejo comum ao fazer 1), o uso mais comum é não ter zeros preenchendo o valor exibido. (Caso contrário, você usaria, para o exemplo, ".0000" para o ponto decimal e o material à direita dele (e qualquer coisa para os dígitos não decimais).) Portanto, a função secundária é suprimir quaisquer zeros à direita.

Se feito à direita da vírgula, o resultado será exatamente como Ron Rosenfeld mostra. Mas e se você colocar um à esquerda da vírgula? Depende dos detalhes disso, e um caso interessante, instrutivo aqui, é "?" com uma entrada para TEXT() de, digamos, 12,95:

=TEXT( 12.95, "?" )

o que resulta em "13", nem mais, nem menos. Ele não pode mostrar nada à direita da vírgula decimal, pois não há nada no formato referente à vírgula decimal ou nada à sua direita. Então TEXT() tem que arredondar o resultado para o que é arredondado em 0 casas decimais, exatamente como Eric F mostra.

Então agora considere fazer isso E ter um valor que será arredondado para 0:

=TEXT( 0.49, "?" )

O que acontece é que TEXT() tem que arredondá-lo para 1 casa à esquerda do decimal: nada à direita dele e isso é 0. O formato suprime zeros insignificantes (ao final do resultado). Como essa sequência de ("0") "tem um zero no final" (e no começo e no meio, pode-se ser bastante metafísico aqui), esse zero é suprimido. Como é a ÚNICA coisa presente e sua exibição é suprimida, você fica com "". Apenas um espaço em branco.

A propósito, eu digo “exibe” algumas vezes, mas não é apenas exibido como tal, é exatamente isso. Portanto, o "13" acima é na verdade 13, e não 12,95 disfarçado.

informação relacionada