エクセル基本操作
覚えておきたいエクセルの操作:文字列数値を数値化

Excelの基本操作についての基礎と応用を入門解説
最終更新日:2018-01-06

覚えておきたいエクセルの操作:文字列数値を数値化


しっかり覚えておいてほしいエクセルの操作です、

今回は

文字列数値を数値化です、

本来は数値なのに、セルに文字列として入っている事があります。

Excel VBA 解説

このように、セルの左上にエラーチェックによる緑マークが付いている状態です。


この文字列として入力されている数値を数値化する場合です。

ちなみに、このエラー表示は非表示にすることが出来ます。


エラー表示を非表示

エクセルのオプションで
・バックグラウンドでエラーチェックを外す

 (他のエラーも表示されなくなります)
・文字列形式の数値のチェックを外す
 (バージョンにより文章表現が微妙に違います)

上記のどちらかがOFFになっている場合はエラーインジケーターは表示されません。



エラーインジケーターを使用

対象セル範囲を選択すると、

Excel VBA 解説

エラーインジケーターが表示されますので、上から2番目の
「数値に変換する」
これを選択する事で数値化できます。

文字列のセルはそのままです

全角数値も数値化されます。

ただし、オプションで非表示にしている場合は使えません。



関数を使う

隣のセル(B1)に、
=VALUE(A1)
と入れてオートフィルする事で、B列が数値となります。

関数を使わずに、

=A1+0
=A1*1

これでも数値化されます。

全角数値も数値化されます。

ただし、元のデータに文字列が含まれていると
#VALUE
のエラーとなってしまいます。



裏技もあります


・空白セルを、Ctrl+Cでコピー
・対象セル範囲を選択
・右クリックメニューから、「形式を選択して貼り付け」
・演算で「加算」を選択して「OK」・・・もちろん「減算」でも良い
(1と入っているセルをコピーして、乗算でも良い)

これで、半角・全角問わず数値化されて、文字列はそのままになります。

この操作は、実はかなり奥が深いのです。
例えば、セルに計算式が入っていて、その結果が文字列としての数値の場合、
この操作を行うと、数式の後ろに、
+0
が追加されます。
先の関数による数値化で説明した事を自動でやってくれているのです。
ただ、もともと数式の結果を数値化するのなら、最初からVALUE関数を組み込めば良いだけの話ではあります。
しかし、複数の計算式がある場合は、一つ一つ修正するのも面倒なので、そのような場合には、裏技として便利かもしれません。
ただし、数式の結果がそもそも文字列の場合は、数式の後ろに+0が追加されるので、#VALUEとなってしまいますので、この点のみ注意が必要です。

若干強引な手法ではありますが、割と簡単で応用範囲の広い操作です。




同じテーマ「エクセル基本操作」の記事

可視セルのみコピーする(非表示の行・列を除く)
日付表示の桁位置を揃える
覚えておきたいエクセルの操作:Enter編
覚えておきたいエクセルの操作:入力・編集
覚えておきたいエクセルの操作:ジャンプ
覚えておきたいエクセルの操作:数式のコピー
覚えておきたいエクセルの操作:文字列数値を数値化
覚えておきたいエクセルの操作:図形(オートシェイプ)
ハイパーリンクを絶対パスで保存する方法
入力時に勝手に付くハイパーリンクを消す方法
重複削除しユニークデータ作成(フィルターオプションの設定)


新着記事NEW ・・・新着記事一覧を見る

多階層フォルダ(ディレクトリ)の作成|VBAサンプル集(7月31日)
VBAのインデントについて|VBA技術解説(7月16日)
「VBA Match関数の限界」についての誤解|エクセル雑感(7月15日)
省略可能なVariant引数の参照不可をラップ関数で利用|VBA技術解説(7月12日)
100桁の正の整数値の足し算|エクセル雑感(7月9日)
LSetとユーザー定義型のコピー(100桁の足し算)|VBA技術解説(7月9日)
Variant仮引数のByRefとByValの挙動違い|エクセル雑感(7月5日)
Variant仮引数にRange.Valueを配列で渡す方法|エクセル雑感(7月5日)
Variantの数値型と文字列型の比較|エクセル雑感(7月1日)
VBAのVariant型について|VBA技術解説(6月30日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ