• ベストアンサー

Format関数について

こんにちわ。 単純な質問なのですが、VBで数値をFormatする場合、 "123456" → "123,456" "123456.78" → "123456.78" というように、小数点がない場合は小数点以下は表示されず、 小数点がある場合は小数点以下の表示をする。というような Formatを一行でできないでしょうか? 小数点は2桁で固定です。 よろしくお願いします。

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

1行で記述したいのであれば、Ifではなく、Iifで条件分岐を書けばいいのでは? Format関数の書式設定だけでは絶対に無理です。 書式をあわせるための書式設定なのですから。

dorarin
質問者

お礼

そのとおりでした。ありがとうございました。

関連するQ&A

  • エクセル関数で

    お世話になります。下記の数値の小数点以下3桁目をある条件で 切り上げ・切捨てを行いたいのですが、その条件に加えて小数点以下3桁 目が0でも切上げにする場合の数式を教えていただけないでしょうか? 【条件】23.230以下は、小数点以下3桁目を切り捨て。23.231以上は 小数点以下3桁目を切上げる。ただし、23.231以上で切上げる場合、 小数点以下3桁目が0の場合でも切上げる(*) 例)23.151 → 23.15   23.150 → 23.15   23.230 → 23.23   23.231 → 23.24 (*) 23.240 → 23.25 切り上げ、切捨ての数式はIF関数でできたのですが、23.231以上で 切上げる場合、小数点以下3桁目が0の場合でも切上げるというのが 分かりません、、、 =IF(A1>=23.231,ROUNDUP(A1,2),ROUNDDOWN(A1,2)) ご指導いただきたく、宜しくお願い致します。

  • エクセル関数で

    お世話になります。先日こちらで教えていただきました関数で、変更箇所がありましたので悩んでおります、、、 ご存知の方ご指導いただけないでしょうか、、、 ■下記の数値の小数点以下3桁目をある条件で切上げ・切捨てを行いなさい。 【条件】23.230以下は、小数点以下3桁目を切り捨て。23.231以上は 小数点以下3桁目を切上げる。 ただし、小数点以下3桁目が0の場合は値が23.231以上は 小数点以下3桁目を切上げ(*1) 23.230以下の場合は少数点以下2桁目を1減少させる(=0.01マイナス)(*2) 例) 23.151 → 23.15    23.230 → 23.23    23.231 → 23.24 (*1) 23.240 → 23.25 (*2) 23.150 → 23.14 小数点以下3桁目が0の場合、23.230以下の場合小数点以下2桁目を 1減少させるという関数がわかりません。 下記の関数にどのような式を加えればよいのでしょうか? =IF(A1>=23.231,ROUNDUP(A1+0.001,2),ROUNDDOWN(A1,2)) ※上記の式だと、小数点以下3桁目が0の場合、23.231以上の場合は 切上げ、23.230以下の場合は切り捨てになります。 宜しくお願い致します。

  • エクセルで整数表示と少数表示を混在させたい

    お世話になります。 集計用のファイルを作っています。 整数と、小数点以下1桁、2桁の数値が出てきます。 書式設定で小数点以下2桁まで表示するようにしたら、整数や小数点以下1桁の数値まで120.00とか25.50と表示されてしまい、見にくくなってしまいました。 小数点以下に0がつく場合は無視して、それぞれ120、25.5、3.25のように必要な桁数だけ表示させたいのですが、どうしたらよいでしょうか。

  • FortranのFormatについて

    Fortranで数値を出力するときのFormatについて質問です。 数値を小数点を無くして、指数表示で出力したいです。 例えば 0.0025 を 25E-4 と出力するのが希望です。 調べたところ、 『■pe■.■e■』(■は数値)というFormatにすれば、  1番目の値は小数点以上の桁数  2番目の値は数値が入る幅  3番目の値は小数点以下の幅  4番目の値は指数の桁数 ということがわかりました。 『2PE8.3e1』だと 0.0025 は 25.00E-4 と出力されます。 『2PE6.1e1』だと 0.0025 は 25.E-4 と出力されます。 しかし、この小数点を消す方法がどうしてもわかりません。 『2pe6.0e1』と設定してもうまく出力されません。 詳しい方がいらっしゃったらぜひ教えてください。 よろしくお願いします。

  • 小数点以下の数字の桁数表示について

    VB6.0で小数点以下の数値が0の場合でも指定した桁数で0も表示するにはどのようにしたらよいですか? 例えば、四捨五入のROUND(0.195000,4)のとき返ってくる数値が「0.195」となり最後の0が表示されません。(以下は4桁表示したいのに) (小数点以下第5位が5なら切り上げで最後に1が表示されますが) エクセルだとセルの書式設定で表示桁数を設定するだけだったのですが。 FIXED関数、TEXT関数はVB6.0では使えないのですよね? VB6.0に詳しい方よろしくお願いします。お手数です。

  • レポートのテキストボックスでこんなのを表示したいんですが

    Access97にてレポートを作成しています。 レポート内のテキストボックスに単純に数値を表示したいのですが、 以下の要件を満たしたいんです。 ・1000以上の数値ならカンマで区切る ・小数点以下の数値がない場合は整数部分だけ表示 ・小数点以下の数値がある場合は小数点以下の数字を桁に応じて表示 例 「945」→「945」 「1283」→「1,283」 「10.42」→「10.42」 「8.2」→「8.2」 テキストボックスのプロパティ「書式」を「数値」、 かつ「小数点以下桁数」を「自動」にしても、なぜか全ての数値が 小数点以下2桁まで表示されてしまいます。 お知恵をおかしください。 よろしくお願いします。

  • VB初心者。小数点以下の表示でつまづいています(2

    『VB初心者。小数点以下の表示でつまづいています(涙』 (・・・過去質問 解決済み) では大変お世話になりました。 さて、上記質問は解決したかに思い、お礼もしてして終了したのですが、 検証しておりましたら問題が見つかりました。 以下、質問内容を修正して、再質問します。よろしくお願いしますm(__)m VB .NET環境 Microsoft Visual Studio / ActiveReportで帳票を作成しています。 DBからの値が、小数点以下ありの場合(例:1.07)の時はそのまま表示し、小数点以下が.00の場合(例:1.00)の時、整数部分のみを表示させたいのです。 質問の『値』ですが、今回の値は小数点第2位までです。 #.00 の時 → # と表示。 #.01~99 の時 → そのまま表示。 としたいのです。 ちなみに、小数点から左(整数部分)の桁は9桁まで入る可能性があります。 前回解決した際は、小数点より右1桁、左1桁で質問してしまったので、  H_数量.Text = Format(Val(H_数量.Text), "0.0")  If Right(H_数量.Text, 2) = ".0" Then  H_数量.Text = Format(Val(H_数量.Text), "0")  End If と回答いただき、このパターンではうまく動きました。 小数点以下2桁のパターンも、コードを変更し、  H_数量.Text = Format(Val(H_数量.Text), "0.00")  If Right(H_数量.Text, 2) = ".00" Then  H_数量.Text = Format(Val(H_数量.Text), "0")  End If でOKでした。 しかし、小数点より左9桁、右2桁を試してみると、ダメなのです。 1行目、  H_数量.Text = Format(Val(H_数量.Text), "0.00") を、  H_数量.Text = Format(Val(H_数量.Text), "#,##0.00") と変更しても、 小数点左が9桁には対応できません。 "###,###,##0" とか、"000,000,000" とか色々試しましたが、 500.00 の時、 000,000,500 と表示されました。 どのようにコードを書いたら良いでしょうか? アドバイスお願いしますm(__)m

  • EXCELで小数点以下を検索

    22.43とか49.51とか小数点以下2桁の数値を集計する表があるとします。 集計した合計が通常だと71.94とかなるわけです。 ところが、 49.51のところ打ち間違え49.516とか小数点以下を3桁目まで入れてしまった場合、 数値的には71.946ですが、小数点以下2桁表示だと71.95になってしまいますね。。 結果的に集計した合計が違ってしまうので、 大量の数値の中から、通常小数点以下2桁で入力するべきところを 3桁で入れてしまった部分を特定するために、Ctrl+Fとかの検索とかで 一発で特定する方法はありますか?

  • Format 関数のバグ?

    今、OS:WindowsXP Pro SP2 VB:6.0 SP6 の環境でアプリケーションを作成しています。 上記の環境で、Format関数に関して質問があります。 今、2桁の文字列のコードをゼロ埋め(0 埋め)にして表示させたいと考えております。そこで、以下の関数を利用いたしました。 Format("19", "00") Format("1A", "00") Format("1B", "00") を呼び出し、"19","1A","1B"と返答結果を期待しているのですが、 実際に実行すると、"19","00","1B"と返答されてしまいます。 なぜ、"1A"だけ、"00"と返答されるのでしょうか。 仕様でしょうか?

  • Excelで数値の小数点を揃える方法は?

    Excelの数値データで、小数点以下1桁とか2桁とかの表示にした時、整数の小数点以下を表示しない方法はありますか?しかも、小数点を中心に桁を揃えて。   12.2  300   20.4 こんな感じです。

専門家に質問してみよう