![Was bewirkt die TEXT-Formel, Format als "?"?](https://rvso.com/image/1585765/Was%20bewirkt%20die%20TEXT-Formel%2C%20Format%20als%20%22%3F%22%3F.png)
Was bewirkt die Formatierung von Text als "?" eigentlich? Ich weiß nur, dass die Zelle leer erscheint, wenn der ausgewertete Wert 0 ist.
=TEXT(IF(condition,1,0),"?")
Antwort1
Neben der Verwendung für Brüche wird es auch verwendet, um links und rechts vom Dezimalpunkt Platz für nicht signifikante Nullen zu lassen. Dies ist nützlich, wenn Sie eine feste Schriftart verwenden und die Dezimalstellen ausrichten, aber die Nullen nicht anzeigen möchten, wie dies bei einem Format von der Fall wäre.0000.0000
Sehen Sie sich beispielsweise an, wie in den Zellen unten, die als ????.????
und Courier New
für die Schriftart formatiert sind, die Dezimalstellen ausgerichtet sind, führende und nachfolgende Nullen jedoch nicht angezeigt werden.
Antwort2
Eine sehr interessante Frage. Ich habe einige Tests durchgeführt und überprüft, was es darstellt, sodass ich die Frage beantworten kann. Den Teil what does it do
kann ich jedoch nicht mit Sicherheit beantworten .why does it exist
Schauen Sie sich meine Beispieldaten an:
Die Zeilen B und C scheinen beide übereinzustimmen, was Folgendes zeigt:
=TEXT(value,"?")
ist äquivalent zu=(IF(ROUND(value,0)=0," ",ROUND(value,0))
Auch wenn es offensichtlich ist, denken Sie daran, dass TEXT() die Daten immer in Text umwandelt und nicht mehr numerisch sind.
Ich vermute, dass es wegen der =TEXT(value,"?/?")
Formatierungsoption existiert. Bei dieser Option möchten Sie einen Bruch nur anzeigen, wenn das Ergebnis nicht leer ist. Wenn eines der Fragezeichen leer ist, wird ein Leerzeichen zurückgegeben.
Antwort3
Um das Warum zu erklären, überlegen Sie, was das "?" bewirken soll. Es soll genau das bewirken, was Ron Rosenfeld sagt:
1) Sorgen Sie dafür, dass ein Zeichenabstand unabhängig von der Ausgabe beibehalten wird. Die häufigste Verwendung besteht also darin, analog zum „echten“ Word „einen Dezimal-Tabulator zu erstellen“, sodass alle Ihre Einträge an ihren Dezimalstellen ausgerichtet werden und so viele Dezimalstellen angezeigt werden, wie Sie möchten.
2) Da es bei 1) häufig gewünscht ist, dass der angezeigte Wert nicht mit Nullen aufgefüllt wird. (Andernfalls würden Sie im gezeigten Beispiel „.0000“ als Dezimalpunkt und rechts davon etwas anderes verwenden (und für die anderen Ziffern beliebig viele).) Die sekundäre Funktion besteht also darin, alle nachfolgenden Nullen zu unterdrücken.
Wenn Sie dies rechts vom Dezimalpunkt tun, ist das Ergebnis genau so, wie es Ron Rosenfeld zeigt. Aber was, wenn Sie eine Eins links vom Dezimalpunkt setzen? Das hängt von den Einzelheiten ab, und ein interessanter Fall, der hier aufschlussreich ist, ist "?" mit einer Eingabe für TEXT() von beispielsweise 12,95:
=TEXT( 12.95, "?" )
Das Ergebnis ist „13“, nicht mehr und nicht weniger. Rechts vom Dezimalpunkt kann nichts angezeigt werden, da das Format weder den Dezimalpunkt noch irgendetwas rechts davon betrifft. Daher muss TEXT() das Ergebnis auf 0 Dezimalstellen runden, genau wie Eric F zeigt.
Stellen Sie sich nun vor, dies zu tun UND einen Wert zu haben, der auf 0 gerundet wird:
=TEXT( 0.49, "?" )
Was passiert, ist, dass TEXT() es auf 1 Stelle links vom Dezimalkomma runden muss: nichts rechts davon und das ist 0. Das Format unterdrückt unbedeutende (am Ende des Ergebnisses stehende) Nullen. Da diese Zeichenfolge ("0") "am Ende (und am Anfang und in der Mitte, hier kann man ziemlich metaphysisch werden) eine Null hat, wird diese Null unterdrückt. Da es das EINZIGE ist, was vorhanden ist, und seine Anzeige unterdrückt wird, bleibt Ihnen "". Nur ein Leerzeichen.
Übrigens sage ich ein paar Mal „zeigt an“, aber es zeigt es nicht nur als solches an, sondern macht es genau dazu. Die „13“ von oben ist also wirklich 13 und nicht getarnte 12,95.