• ベストアンサー

エクセルで金額区切りのカンマを作成

ちょっと説明しづらいですが、 A列に数値が入っていて(桁数は不定)、通常はツールバーの[,]を使用 すれば"1,000,000"の様に表示となりますが、ある処理のため表示では 無く実際にカンマ入りとしたいのですが・・・。 '1,000,000 とすれば可能ですが、とても手作業で行えるようなデータ量 ではありません。 どなたか良い方法をご存知でしたらご教授下さい。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

次の方法をお為し下さい別の列を選択して、=TEXT(A1,"#,##0")→ctrl+enterとして、別列を選択してコピー後、コピー先で「形式を選択して貼り付け」を選択して「値」のみで実行して下さい。

ogaki_3ok
質問者

補足

ありがとうございます。 やはりある程度の力技でないと無理みたいですね。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

エクセルでは桁区切りのカンマを値としたいなら、文字列にするしか有りません。 VBAで Sub test01() d = Range("A65536").End(xlUp).Row For i = 1 To d v = Cells(i, "A") s = "" P = 0 For j = Len(v) To 1 Step -1 P = P + 1 s = Mid(v, j, 1) & s If P Mod 3 = 0 And P <> Len(v) Then s = "," & s End If Next j Cells(i, "A") = "'" & s Cells(i, "A").HorizontalAlignment = xlRight Next i End Sub が質問に近いかなと思います。VBAでしかできないの、というなら、 それだけ質問はエクセルに対し、珍奇な要求であるということです。

ogaki_3ok
質問者

お礼

ありがとうございます。 >VBAでしかできないの、というなら、 いえ、別にVBAでしかできないのとは言いません。 どんな形であれできれば結構です。

  • surounin
  • ベストアンサー率28% (30/106)
回答No.4

#1さんと同じで =Text(セル,"#,###") #は0を表示しないと言う意味です。 0を表示したければ =Text(セル,"0,000")

  • dac203
  • ベストアンサー率43% (92/212)
回答No.3

EXCEL上で一発で変更できる方法の有無はわかりませんが、力技なら(^^;)。 まず表示を"1,000,000"の様にしておき、一度TXT出力。それを再度読み込む際に、列の形式を文字列として読み込めばカンマ付きのままになります(当然文字扱い)。 他の部分との兼ね合いもあるでしょうから(関数の有無とか)、そのまま使うというわけにはいかないと思いますが、手でカンマを入れるよりは早いかと(^^;)。

ogaki_3ok
質問者

補足

ありがとうございます。 実はご指摘の方法で一度試したことはありました が、その該当のセルが一定の行や列では無く、再読み込みした際には 形が崩れてしまいました。

回答No.2

金額が入力されるセル、行、列のセルの書式設定を変更すれば大丈夫です。 具体的には、該当のセルを右クリックして、セルの書式設定を選びます。 表示形式のタブのうち、分類が標準になっていると思います。 ここを通貨にすれば、カンマが入ります。 あとは、このセルを縦でも横でもコピーすれば同じようになるはずです。

ogaki_3ok
質問者

補足

この方法は判りますが、これですと質問の表示だけとなります。 表示も実データもカンマ入りとしたいのですが・・・。

  • akio_myau
  • ベストアンサー率34% (515/1480)
回答No.1

A1に情報があるとして別のセルに =TEXT(A1,"#,###")としてはどうでしょうか。

関連するQ&A

専門家に質問してみよう