• 締切済み

EXCELの表示形式

Excelのセルの数値を1000円単位で表示する時に、書式設定のユーザー定義で#,##0,と指定すると、自動で四捨五入された値が表示されるのですが、これを切り捨てした値を表示する方法をご存知の方はいらっしゃいますか?なお、EXCELの関数を利用せず実現させる必要があります。 ※Webのプログラムからエクセル出力機能で、テンプレートに書式設定を埋め込むのでセルには関数は埋められないのです。

みんなの回答

  • goomania
  • ベストアンサー率56% (84/149)
回答No.4

#2さんに補足します。 ご質問者さんは、何のシステムかは判りかねますが ブラウザ上で動作するWebアプリケーションをお使いなのでしょう。 (もしかするとホームページのCMSかも知れませんが・・・) このアプリケーションにはEXCEL出力機能があり、 テンプレートには書式を記述できるのだと推測できます。 このように推測すると、VBAでの実現はかなり困難と思われます。 このWebアプリケーションでテンプレートの書式として 使えるかどうかは判りませんが、 #2さんのご回答にあるように、 0[Ctrl+J],000(,は入れて入れなくてもよい=2行目になってしまうので・・・) [Ctrl+J]はCtrlキーを押しながらJキーのことです。 配置は「折り返して全体を表示する」にする という手段を用いて、「擬似切捨て」を行うという方法しか思いつきません。 例えば セルの値が「5500」の場合、千円単位で四捨五入なら「6」 千円未満切捨てなら「5」となるはずですが、 「擬似切捨て」は5500を二段書きにし 5 500 のように表示されるようにします。 この上段部分だけを見せるようにすれば「切捨て」したように見える つまり「擬似切捨て」になるわけです。

参考URL:
http://pasokoma.jp/bbsa/lg335364.html
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

>関数を利用せず実現させる必要があります。 わざわざ書くのは質問で珍しいですね。逆は多いが。作業列を使えないって言うことですか。 ーー VBAで値として、もとのセルに戻すのならできそうですが、基データが消えてしまってはダメだと思うので、難しいですね。 普通にNumberFormatを設定すると普通の書式と同じだし。 NumberFormatの仕組みまではコードで、いじくれないし。 ーー しかし、A1セルの数字に対し Sub test01() x = Int(Cells(1, 1) / 1000) MsgBox x Cells(1, 1).NumberFormat = x End Sub をやると値(数式バー)は12342545 セルの見た目は12342になりました。 セルの値変更時に即時対応性がありませんが。 SheetのChangeイベントで対応すれば、少し近づくかも知れませんが。 まあやりすぎで、本件不可能ということで、お後の良きご回答をお楽しみに(出ないでしょう)。

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

実際の数値を切り捨てにはなりませんし、Webで使えるかはわかりませんが... 0[Ctrl+J],000 ※[Ctrl+J]はCtrlキーを押しながらJキーのことです。 この操作は改行コードの入力で、実際は 5 500 のような2段の表示になります。 配置は「折り返して全体を表示する」にする必要があります。

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

残念ながら関数を使わず表示形式で四捨五入以外はできません。

関連するQ&A