メインコンテンツへスキップ
見出し画像

[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)



    あなたへのおすすめ