• ベストアンサー

EXCEL2002のユーザー定義の表示形式について

数値12300を 表示形式 (1)#、##0 (2)#、### (3)#、##0”人” と入力すると、 答えが (1)12,300 (2)12,300 (3)12,300人 になるようなのですが、理屈がわかりません。 テキストに、 #はデータが0のとき空白 0はデータが0のとき0を返すとあります。 それならば (1)12,3空白0 (2)12、3空白空白 というようになるのではないでしょうか? コンマの前の#で12をあらわすのもよくわかりません。 なぜこういう答えになるのか 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • esprei
  • ベストアンサー率56% (718/1271)
回答No.1

データが0の時とは、ただの0であって、12300などの一部の0のことではありません。 #,###は三桁区切りでカンマが入りますという意味合いで、その数値が何桁あるかは問題ではないのです。 つまり#,##0で表示形式を設定した場合、数値に0だけを入力すれば0と出ます。 #,###の場合は、数値に0だけを入力した場合は、空白となります。 しかし10と入力した場合は、どちらも10になるわけです。 余談ですが、#,###,と設定した場合、三桁区切りで100以下は表示しませんという設定になります。 12300の場合は、12とだけ表示するわけです。 こういうので判りますかね?

gonta33
質問者

お礼

ありがとうございました。 わかりました!

その他の回答 (5)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.6

#は表示される数字全体が0の場合、空白になります。 桁の使い方でこのように表示が変わります。 #,##0[0⇒0 ][400⇒400][500⇒500 ][1000⇒1,000] #,###[0⇒ ][400⇒400][500⇒500 ][1000⇒1,000] #,  [0⇒ ][400⇒ ][500⇒1,000][1000⇒1,000] #.0, [0⇒.0][400⇒.4 ][500⇒.5 ][1000⇒1.0 ]

gonta33
質問者

お礼

ありがとうございました!

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

こんにちは。maruru01です。 数値の表示形式で使用する「#」「0」はその位の指定です。 つまり、「#,##0」とあれば、一の位から千の位の各桁について個別に指定するということです。 「#」はその位に数値がなければ(数値全体がその位よりも小さい)、何も表示されません。 「0」はその位に数値がなければ"0"を表示します。 ちなみに、その位に「0」があれば、それは"数値がある"ということになります。 もちろん、その位に数値があればそのまま表示します。 一方、表示形式で指定のない桁(質問例では万の位)はというと、指定がないのでそのまま表示されます。 とにかく、各桁ごとに指定されていると考えて下さい。 なお、「,」は桁区切り表示をするかどうかの指示です。 「,」は必ずしも百と千の位の間でなくても構いません。 どこかにあればOKです。 だから、(1)の例は、 「#,0」 と書いても同じです。

gonta33
質問者

お礼

ありがとうございました。 よくわかりました。

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.4

0は必ずそこに数字を表示させるという意味、#は必要に応じて数字を表示させるという意味です。 例えば、数値12345 に対して表示形式 1) 000,000,000 2) ###,000,000 3) ###,###,### を当てはめると、それぞれ 1) 000,012,345 2)   012,345 3)    12,345 となります。 また、 4) ###,###,###,###,### 5) #,### は 3) と同じ意味になります。つまり、3)も4)も5)も3桁ごとにコンマを入れるという同じ意味を表します。 結局の所、 # はコンマとコンマの間に何桁入れるのかを示しているだけです。

gonta33
質問者

お礼

ありがとうございました! #の意味と0の意味がよくわかりました。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

>テキストに、 #はデータが0のとき空白 0はデータが0のとき0を返すとあります。 これは、小数点以下の部分の表示の違いです。 今回の場合、実数値」の部分ですから、このような動作はしません。 書式を #、### ではなく #.### にして 値に、12300ではなく、12.300と入れて比べてみてください。 >コンマの前の#で12をあらわすのもよくわかりません。 この場合、3桁で桁区切りを指定したので、実数部分は3桁の桁区切りになります。 8桁の数字を入れてみてください。 エクセルのヘルプに「表示形式で使われる書式記号」と入れると、関連のヘルプが読めます。

gonta33
質問者

お礼

ありがとうございました!

  • 4466123
  • ベストアンサー率9% (1/11)
回答No.2

>#はデータが0のとき空白 >0はデータが0のとき0を返すとあります。 #が0のとき空白というのは、本当に数値が「0」のときだけです。ですから、12300は、確かに1の位と10の位が0ですが、数値としてはやはり12300なので、12300と表示されます。 0は、その位がない場合に0を表示させると言うものです。 #,#00だった場合、2桁以上の数値であれば関係ありませんが1桁の場合、例えば「7」という数値を入力すると「07」と表示されます。 #,000の場合は、「007」という表示なります。 それから#,###や#,##0のような表示をすることで、「3桁区切りのカンマをつける」という意味になり、#,##0の先頭の#が千の位以上を表すという意味ではないと言うことです。 そういう決まりだと覚えてしまうのがいいと思います。

gonta33
質問者

お礼

ありがとうございました!!

関連するQ&A