プログラミングやExcel VBAなどで数値を扱う際、NumberFormatとFormat関数はよく使われますが、混同しやすいものです。この記事では、それぞれの違いと使いどころを具体例を交えて解説します。
NumberFormatの特徴と用途
NumberFormatは、主にセルや表の表示形式を指定するためのプロパティです。Excel VBAではセルの値の見た目を変更するのに使われます。
例えば、セルに数値が1000でも、NumberFormatを”#,##0″に設定すると、”1,000″とカンマ付きで表示されます。元の値自体は変わらず、見た目だけが変更される点が特徴です。
Format関数の特徴と用途
Format関数は数値や日付を文字列として整形する関数です。値を文字列として取得するので、表示形式だけでなく文字列操作にも使えます。
例えば、Format(1000,”#,##0″)とすると、返り値は文字列”1,000″です。計算など数値として扱う場合は注意が必要です。
NumberFormatとFormatの違いのまとめ
NumberFormatはセル表示の見た目を変えるプロパティで、元の値は数値として保持されます。一方、Format関数は値を文字列として変換する関数で、表示だけでなく文字列操作や出力に使えます。
計算を行う場合はNumberFormatを使い、文字列として加工・表示する場合はFormat関数を使う、と覚えておくと便利です。
実例での使い分け
例えば、セルA1に1000が入っている場合、A1.NumberFormat = “#,##0″と設定すると、セル上では”1,000″と表示されますが、計算式で使う場合は1000として扱われます。
一方、MsgBox Format(A1,”#,##0″)とすると、メッセージボックスには”1,000″という文字列が表示されますが、数値としては使えません。
まとめ
NumberFormatはセルやオブジェクトの表示形式を指定するプロパティ、Format関数は値を文字列として整形する関数です。用途に応じて使い分けることで、見た目の調整や文字列出力を効率的に行うことができます。


コメント