TEXT 数式で「?」形式を指定すると何が起こりますか?

TEXT 数式で「?」形式を指定すると何が起こりますか?

テキストを「?」としてフォーマットすると、実際には何が起こるのでしょうか? 私が知っているのは、評価された値が 0 の場合に空白のセルが表示されるということだけです。

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

答え1

分数に使用する以外に、小数点の左右に意味のないゼロのためのスペースを残すためにも使用されます。これは、固定フォントを使用していて、小数点の位置を揃えたいが、0を表示したくない場合に便利です。0000.0000

たとえば、以下のセルを として書式設定し????.????Courier Newフォントを にすると、小数点の位置が揃っていますが、先頭と末尾のゼロは表示されません。

ここに画像の説明を入力してください

答え2

非常に興味深い質問です。いくつかテストを行い、それが何を表しているかを確認したので、その部分には答えることができますwhat does it doが、その部分については確実に答えることはできませんwhy does it exist

私のサンプルデータを見てみましょう:

ここに画像の説明を入力してください

行 B と行 C は両方とも一致しているように見えますが、これは次のことを示しています。

=TEXT(value,"?")は以下と同等である=(IF(ROUND(value,0)=0," ",ROUND(value,0))

明らかなことかもしれませんが、TEXT() は常にデータをテキストに変換し、数値ではなくなることに注意してください。

これが存在する理由は、=TEXT(value,"?/?")書式設定オプションのためだと推測します。このオプションでは、結果が空白でない場合にのみ分数を表示します。疑問符のいずれかが空白の場合は、スペースが返されます。

答え3

その理由については、「?」が何を意味しているか考えてみましょう。これはまさに Ron Rosenfeld が言うとおりのことを意味しています。

1) 出力に関係なく文字スペースを維持できるようにします。したがって、最も一般的な使用法は、Word の「本物」に類似した「小数点タブの作成」です。これにより、すべてのエントリが小数点の位置で整列し、必要な小数点以下の桁数が表示されます。

2) 1) を実行する際の一般的な要望は、表示される値にゼロが埋め込まれないようにすることです。(そうでない場合は、例に示すように、小数点に「.0000」を使用し、その右側に数値 (および小数点以外の数字に任意の数値) を使用します。) したがって、2 番目の機能は、末尾のゼロを抑制することです。

小数点の右側に行うと、結果は Ron Rosenfeld が示すとおりになります。しかし、小数点の左側に 1 を置いた場合はどうなるでしょうか。その詳細によって異なりますが、ここで参考になる興味深いケースの 1 つは、TEXT() への入力が 12.95 の場合の「?」です。

=TEXT( 12.95, "?" )

結果は「13」で、それ以上でもそれ以下でもありません。フォーマットには小数点またはその右側に関するものは何もありませんので、小数点の右側には何も表示されません。したがって、TEXT() は、Eric F が示すとおり、結果を小数点 0 桁で丸められたものに丸める必要があります。

そこで、これを実行し、かつ 0 に丸められる値を持つことを検討します。

=TEXT( 0.49, "?" )

実際に起こることは、TEXT() が小数点の 1 桁目まで丸める必要があるということです。小数点の右側には何もないので、0 になります。この形式では、重要でない (結果の末尾の) ゼロは抑制されます。この文字列 ("0") は「末尾にゼロがある」(先頭と中間にもゼロがある。ここではかなり形而上学的になる) ため、ゼロは抑制されます。ゼロは存在する唯一のものであり、その表示は抑制されるため、"" が残ります。空白だけです。

ちなみに、私は「表示する」と何度か言いましたが、単にそのように表示するだけではなく、まさにそのようになります。したがって、上記の「13」は実際には 13 であり、12.95 を偽装したものではありません。

関連情報