• ベストアンサー

###の意味

format関数で使われる###の意味がわからないので教えていただきたいです。 format("123456789", "###,###")は123,456,789をかえします。 これは理解できるのですが以下が理解できません。 format("123456789", "#,###")は123,456,789をかえします。 format("123456789", "###,#")は123,456,789をかえします。 もし12345678,9を返したいときどうすればよいのでしょうか? この#の意味がどういう意味なのでしょうか。 よろしくお願いします。 環境 windowsXP vb.net2003

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>もし12345678,9を返したいときどうすればよいのでしょうか? format(123456789,"########\,#") として下さい。 # は、数字一桁(必要ないときは表示しない)です。 , は、数字の書式で使われると、3桁区切りのカンマになります。 \, でそうした意味をエスケープすることができます。

nicname
質問者

お礼

お二方、ご回答ありがとうございます。 そうだったんですか。 解決できて感動です。

その他の回答 (1)

回答No.1

#の意味は数字です。 この場合#よりも","が悪いですね。これの意味が1,000区切りにするという意味があります。 やるとしたら#の代わりに文字を意味する@か&を使えばいいと思います。

関連するQ&A

  • 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"と返答されるのでしょうか。 仕様でしょうか?

  • VB6.0 のformat関数について

    VB6.0(SP5)のformat関数にて、以下のような場合、異なる結果が帰ってきます。 どのような仕様で結果が異なるのでしょうか?  Format("20050101-1", "0") → "20050101-1" と帰ってきます。  Format("20060101-1", "0") → "1528543" と帰ってきます。 分かる方がいらっしゃたら、お願いします。

  • VBのFORMAT関数

    VBのFORMAT関数についての質問です。 Format(変数,"!") "!"<--これの書式って どのような意味(書式)なんでしょうか? ランゲージレファレンスにも載っていませんでした。 よろしくお願いします

  • Format関数の戻り値

    Format関数で戻り値がおもうようにとれません。 どうしてかわからず困っています。 以下の2パターンの違いがわかりません "0A"はなぜ"00"になってしまうのですか? (VBバージョンは6.0です) format("0D","00") 結果 "0D" format("0A","00") 結果 "00"

  • COLUMN(1:1)の意味を教えてください

    こんにちは。 OSはWindowsXP、Excelは2003を使用している者です。 電話番号からハイフンをとりたいのですが、電話番号の末尾についたハイフンだけは取りたくないのです。末尾のハイフンはいくつつくかわかりません。 関数でそれを実現したいと思っています。 例えば、ExcelのA1セルに 03-1234-5678--- という電話番号があるとします。 関数の結果としては、 0312345678--- という結果を返してほしいのです。 そこで、ネットでいろいろ調べて以下の関数を作るに至りました。 =SUBSTITUTE(A1,"-","")&RIGHT(A1,MATCH("*"&RIGHT(SUBSTITUTE(A1,"-",""),1)&"*",INDEX(RIGHT(A15,COLUMN(1:1)),),0)-1) 03-1234-5678---のハイフンを一度全部取り(前半のSUBSTITUTE(A1,"-","")部分)、その後一番右側にあるハイフンと合体させています。 実は、前半のSUBSTITUTE(A1,"-","")部分以外は全く自分ではわからず、似た様な関数が掲載されていたネット部分を修正して作りました。 よって、どうしても意味不明な箇所があります。 COLUMN(1:1)はどういう意味なのでしょうか? 1~256の配列を返しているという風に言っている人がいましたが、それの意味が理解できません。 また、上の例で言うとRIGHT(A1,COLUMN(1:1))の部分では「8」を返すようなのですが、どうしてでしょうか。 COLUMN(1:1)=1になるみたいなのでRIGHT(A1,1)としてみるとエラーになってしまいます。 なぜCOLUMN(1:1)だとうまくいくのに、1だとダメなのでしょうか。 そもそも、COLUMN(1:1)というのはどういうことなのでしょうか。 大変お手数ですが、どうしてもわかりません。 どなたかお詳しい方、教えていただけますでしょうか。 よろしくお願いいたします。

  • VisualBasic6.0のFormat関数でmSecを表示したい

    VisualBasic6.0のFormat関数で時刻をあらわす方法でFormat(CStr(Now),"h:mm:ss")としていますが、mSecをあらわすときはどうしたらいいのでしょうか。どなたか教えてください。 VB.NETのffを使ってみましたがだめでした。

  • コーディングが悪いというのは?

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=1590132 のNo5の方のおっしゃっている意味が良く分からなくて質問します。 VB任せの変換になるので、コーディング的にはあまり良くありません。 というのは、コンパイラ(VBもコンパイラと言うのでしょうか?)に任せたプログラムはやめたほうがいいぞ と受け取りました。 実際、C言語だろうがVBだろうがコンパイルする場合にはコードがどのようにアセンブラに変換され、機械語に変換されたかしっかり確かめる必要のある人(技術がある人)は最初からアセンブラで書いたほうがいい様に思います。 その手間が嫌なのでVBを使っている人がformatとvalを使い分ける明確な理由がイマイチ良く分かりません。 実行速度の問題なのならCを使えば良いだろうし、何がそこまで違うのかも理解できません。 (宣言せずに使用するよりは)int long stringをしっかり分けて使うのがいいぞ というのと、valを使うのは良くないぞ と言うのはまったく違う意味ですよね? aをintegerで宣言してa=val(b)等と書けば自然とintegerになるのではないのですか? 結局、val()とformat()をきっちり使い分けるためにはそれぞれの関数のプログラムを理解する必要があると思うのですが、それぞれ関数の内容は公開されているのでしょうか?(簡単に調べられるのは使用方法ぐらいのような気もするのですが。)

  • 変数の頭「#」の意味

    VB初心者です。 VB5のOPEN関数等で見かける #変数名 の#はどういう意味でしょうか? ヘルプを見ると「省略可能」とありますが・・・ 指定した場合に何か意味を持つものなのでしょうか? 例 intFileNo = FreeFile Open "test.txt" For Input As #intFileNo

  • ACEESSによるファイルを開くダイアログボックス操作

    掲題の圏ですが、以下のサイトを参照して作成しました。 http://www.red.oit-net.jp/tatsuya/vb/FileDialog.htm そうすると 関数 apiGetOpenFileName で .hInstance = App.hInstance でエラーが発生し 「オブジェクトが必要です」 というエラーが返されます。 この意味はあまりわかりません(VBの理解が浅いです)。 App.hInstance などないということですよね? まだ、検証不足なのですがここを .hInstance = 0 にしたところ、ダイアログボックスは表示されたのですが問題ないのでしょうか。 なぜなのでしょうか? 素人な質問で申し訳ありません。 APIを使ったことはほとんど無くて、ほとんど理解無くサンプルをコピペしているレベルです。

  • Excel数式の意味がわかりません。

    他人からもらったエクセルデータがあり、一部のセルに以下のような数式が入っています。 {=MIN(IF(G4:G300<=TODAY()+1,"",G4:G300))} この関数の意味が理解できません。