見出し画像

[EXCEL]文字列にした「数字」を、また「数値」に戻す方法

【まとめ】
文字列(文字データ)の数字を「数値」に直す方法
1 =文字列のセル*1 とする
2 =VALUE(文字列のセル) とする
3「1」をコピーし、「形式を選択してコピー」で「乗算」を選ぶ。
いずれも、文字列である数字に1を掛けることで数値に戻る。

(参考)
[Excel]数値を文字列にするTEXT関数(Word差込印刷時にカンマを表示させる用)
[Excel]数値形式の日付を文字列にする計算式(Wordへの差込印刷用)

【説明】
先日、ちょっとした失敗をしました。
WORDへの差し込み印刷をするため、金額を文字列にしました(数値のままだとカンマが表示されないため)。

文字列にした金額から合計を出そうとしたのですが、合計は出ませんでした。

見た目が数字でも、文字列(文字データ)の場合は、合計は出ないのです。
私は金額が文字列になっていることを忘れていました(文字列にした後右寄せしていたことも理由の一つです)。

「数字」は、0,1,2,3~9 で表されますが、
「数値」は、計算できる値のことです(見た目が漢数字でも、数値であれば計算できます。)

「文字列」は、見た目は数字でも文字として扱われているものであり、計算には使えません。

ちょっと混乱するかもしれませんが、EXCELにおいて、数字と数値の違いは、理解しておく必要があります。


下の表で、B列は数値です(通常右寄せ)。

当然、合計が出せます。
B6を選択して、Alt + Shift + = で、一瞬でSUM関数の計算式が入ります。

しかし、C6セルでやっても反応しません。
何も出ません。
隣のB6セルをコピー(Ctrl+R)しても、「0」と入るだけ。

C列のデータは、B列の数値をTEXT関数を使って文字列に直したものです(だから左揃えになっています)。

文字列なので合計は出せません。


合計を出そうとしても出なくて、おかしいな、と思ったのですが、文字列にしてあったことを忘れていたのです。

数値として金額が入っている元の表は取ってありましたが、呼び出すのは面倒なので、文字列になっている金額を数値に変えました。

文字列の数字を数値に直す方法は2つ


1 文字列になっている数字に1を掛ける。

上の表のD列のように、文字列であるC列の数字に1を掛けると数値に戻り、合計も出せます。

1以外でも、四則演算のいずれかを行えば、数(値としての計算結果が出ます。SUM関数で範囲指定しても合計は出ませんが、文字列となっている数字を「+」でつないでいくと、合計が出ます。ここら辺はちょっと不思議というか、だから文字列であることを意識しない場合も出てくる?)

2 VALUE関数を使う
文字列のセルを、VALUE関数で括ると、数値に戻ります。VALUEは「価値」ですが、「値」に戻すという関数です。

※この項目は追加しました。
VALUE関数を使いことについては、sele_chanさんからコメントいただきました。
コメントいただいたように、上の1のように「1」を掛けるよりも、VLAUE関数の方が分かりやすいかと思います。
上の1だと「なぜ1を掛けているのか?」という人もいるでしょうから。
その点、VALUE関数を使っていれば、関数の意味が明らかなので、理解しやすいと思います。
私は普段使わない関数でしたので、ご指摘いただき、ありがとうございました。


3「形式を選択して貼り付け」で「乗数」を選ぶ
上の1・2だと、計算結果を表示するセルが必要になります。
文字列となっている「数字」を、セルを変えずにそのまま「数値」に直したい場合は・・・

① どこかのセルに1を入れる(ここではE1セル)
② 「1」をコピー(Ctrl + C )する
③  数値に直したいデータを範囲選択する
④ 「形式を選択して貼り付け」(Alt ⇒ E ⇒ S)を開く
⑤ 右下の「乗算」にチェックを入れる。

⑥ 「OK」押下

以上です。

乗算とは掛け算のこと。
範囲選択したセルのデータ(文字列である数字)に、コピーした「1」を掛ける、ということなので、やっていることは上の1と同じになります。
ただし、同一セル内で完了する、という点が違います。

なぜ「形式を選択して貼り付け」でこれができるのか、ちょっとピンときませんが(私には)、そういうものだと、と受け止めるしかないでしょう。

以上、自分の失敗が他山の石になれば幸いですが、私の記憶定着にするため、記事にしてみた次第です。

(参考)
[Excel]数値を文字列にするTEXT関数(Word差込印刷時にカンマを表示させる用)
[Excel]数値形式の日付を文字列にする計算式(Wordへの差込印刷用)


(作業 1日 1h)



いいなと思ったら応援しよう!