- ベストアンサー
リストからコンマを含めた数列を表記したい
「データ」のリストを「5,000円,4,000円,0円」と設定したところ実際のリストが 5 000 4 000 0 となってしまいます。 つまり「5,000円」というように、コンマも含めて表示させたいのですが、こうだとリスト自体が成立できなくなります。 「セルの書式設定」を「0,###"円"」と設定してみても「5000」となりコンマが付きません。 このようなリスト表示にならないための設定方法、それも無理なら他の方法がありましたら教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>リストには「1000,0」と設定 あっそうか、回答No.2 の後者の方法ができるなら、即値でそのように指定できますね^^; 私も試しながらやってるわけなのでプロというほどではないです、ただ、なるべく実際にやってみて、確認できた回答を載せています。 >「0円」 >となるためのユーザー定義について教えてください! 実はちょうど、回答No.2に書いていました。 >書式指定「#,##0"円"」 こちらです。 ・(書式設定の)「#」と「0」はどちらも数字の桁数を表す ・ただし「#」では、そこが0になる場合消える ・「3ケタ後の『,』は、通貨等の3桁毎のカンマをつけるという意味(6つ目・9つ目…の桁区切りも付く)」 というルールが組み合わさり、ご希望の通り動きます。 ---- ちなみに補足に書いてもらった書式でそうなってしまうのは、見えている0は4桁目であるからです。 数値0→書式により「0,000円」→「0,===円」(「=」のとこが消えてる)→「0,円」 という訳だったのです。 もし、5円とか500円を試していたら、「0,5円」「0,500円」等になっていて気付いたかもしれませんね。
その他の回答 (4)
- asciiz
- ベストアンサー率70% (6803/9674)
>「リスト化」の「化」が誤解を与えたようですが、 >添付いただいた画面のとおり、「データ入力規則」で >作成するデータのことです。 なるほど、すみません、私が全く別の操作をしていました。 「データ入力規則」の「リスト」では、「コンマ入りのデータはクォートで括ればいい」というルールが通用しない模様です。 そうなると、「リスト」の本来の使い方をした方がいいでしょう。 あらかじめExcelブックの別の場所、あるいは別シートに、入力データの一覧表を作っておくんです。 そして、「このセルでは、この範囲(リスト)にあるものから選択する」と設定するのが、「データ入力規則」の使い方となります。 例えば参考図では、C1~C3セルに、「5,000円」「1,000円」「0円」と入力しました。 そしてA1セルの入力規則として、 「リスト」 「元の値」=$C$1:$C$3 と設定します。(手入力しなくても、右端のセル選択ボタン→C1:C3を範囲指定して→Enter、で入ります) こうすれば、A1セルのドロップダウンリストにはコンマ付きの選択肢が表示できます。(参考図上) ---- ところで、C5~C7セルには、「5000」「1000」「0」という数値データが入れてあります。 それを、書式指定「#,##0"円"」により、「5,000円」「1,000円」「0円」と表示しています。 上記との違いは、「文字列として入っているか(左寄せ)」「数値として入っているか(右寄せ)」ということになります。 A5セルの入力規則には、 「リスト」 「元の値」=$C$5:$C$7 として、「5,000円」を選択したのですが、選択した結果はただの「5000」が入力されていますね。 これを「5,000円」と表示するためには、A5セルにも「#,##0"円"」の書式設定をしなければいけません。 ---- さてこの2つのリスト、どちらの方法でも同じものが出てくるのですが、入力されるデータが違います。 「5,000円」というデータは、文字列です。 ここから数値を取り出したりして合計値など計算するには、関数を駆使して数字部分を取り出さなければなりません。 一方、後者の「5000」は数値ですので、そのまま足し算でも掛け算でも、あるいはSUM()関数による合計などもできます。 書式設定で「5,000円」に見えていても、実体は「5000」という数値データなので、計算できるわけです。 のちの処理に都合の良い方で設定しましょう。
補足
せっかくここまでご説明いただいたのにすみません。別の方法で解決しました。 ユーザ定義は「0,###"円"」のまま リストには「1000,0」と設定 ただユーザ定義がこれですと0の入力のとき 「0,円」 となります。しかし 「#,###"円"」 にすると今度は 「円」 となって0が消えます。 0は0と入力したときでもしないときでも0と表記される。 #は0と入力したとき0と表記される、しないときには消える ということは理解してますが、どうしてこうなったのか!? ご回答者様はExcelのプロのようですので 「0円」 となるためのユーザー定義について教えてください! こうすると1,000円となります。 ただ、
- asciiz
- ベストアンサー率70% (6803/9674)
>回答の「"5,000円","4,000円","0円" 」をそのままコピペしたのですが、 >このカンマをピリオド「.」に変えて試したところ正常にリスト化されましたが… > >カンマ「,」でどうしてできないのでしょうか。 いえ、全てコンマのままで、私のExcelでは次のように読み込めますよ。 「リスト化」とは、どういう操作をやっているんですか? その操作が原因である可能性があります。 例えば、マクロ(VBA)でCSVファイルを読んでいる場合、そのVBAがダブルクォーテーションのルールを知らなければ、ダブルクォーテーションを無視して全てコンマで分割してしまいます。 その場合、そのマクロの方を直さなければなりません。
補足
「リスト化」の「化」が誤解を与えたようですが、添付いただいた画面のとおり、「データ入力規則」で作成するデータのことです。 普通のExcelの画面です(というよりVBAなどまったくの無知ですから)。 この画像もそのとおり作成して、各セルは「リスト」から選んだものですよね?まったく同じ作業をしているのですが…なんでだろう…。
- Nobu-W
- ベストアンサー率39% (725/1832)
ちょっと質問に対しての直の回答とはなりかねますが・・・m(_ _)m 書式設定で 『#,##0"円";[赤]"値引き"* -#,##0"円";[青]"サ~ビス"』 と設定してみて下さい(コピペで入れてねっ) 設定をかましたセルは・・・ +値を入力すると普通に黒文字でカンマ有と円で表示され、 ー値を入力すると赤文字でカンマ有と円と値引きで表示されます そして、0値を入力するとサ~ビスと青字ででませんか? それを応用して試してみて下さい m(_ _)m
お礼
赤で示すということは必要ないのですが、 ユーザ定義は「#,###"円"」のまま リストには「1000,0」と設定 で解決しました。
- asciiz
- ベストアンサー率70% (6803/9674)
コンマを含むデータをCSVで扱いたいなら、ダブルクォートでくくってください。 >「5,000円,4,000円,0円」 ↓ "5,000円","4,000円","0円" ※最後の「0円」は括る必要ありませんけど、括ってあっても問題ありません。 なので、コンマが入る可能性があるならば無条件に括っておけばいいです。 そもそもCSVとは、「Comma Separated Value」という意味なので、物理的にコンマがあれば分割してしまうものなんです。 なので、「これはデータとしてのコンマだ」というものは、ダブルクォートでくくって一連の文字列だぞ、と教えてやる必要があります。
お礼
回答の「"5,000円","4,000円","0円" 」をそのままコピペしたのですが、このカンマをピリオド「.」に変えて試したところ正常にリスト化されましたが… カンマ「,」でどうしてできないのでしょうか。
補足
うーん…ユーザ定義を「0,###"円"」のままで教えていただいたダブルクォーテーションでくくったものを、リストしてみたところ、 "5 000 という候補になってしまいます。 ダブルクォーテーションがついたままです。
お礼
助かりました!ありがとうございました。 また何かありましたらよろしくお願いいたします!