Google スプレッドシートで単位をつけたまま数値を計算する小技

Google スプレッドシート

Excel でも Google スプレッドシートでもそうですが、
表計算ソフトだと単位を付けたままでは数値の計算ができませんよね。

たとえば半分に割った値が知りたいとか思って
セルに「○個」や「○円」と入力してから
隣のセルに「= A1/2」と入力してみるじゃないですか。

たぶん0と表示されたり#VALUE! とか
よくわからない文字列が表示されると思うんです。

表計算ソフトでは、数字は

  • 文字列
  • 数値

の二つでは全然違うものとして扱われるので、
こんな事態になります。

となると解決方法としては

「表示形式」で自動的に「個」や「円」を付けるようにする

というのが王道ですが、
今回はちょっとした tips を書いてみようと思います。

スポンサーリンク

Tips1 Google スプレッドシートで%表示すると数値が100倍になって困ったとき

今日つまづいたネタです。

サプリメントの比較表を作っているときに、
1回3錠服用のサプリと1回1錠のサプリの成分量を比較して
ついでに1日の推薦摂取量に対する割合も計算したんですね。

それで1回3錠のサプリが300%だとすると、
1錠だと100%になるじゃないですか。

で、割り算して出した数値に「%」を付けようと思って
何も考えず

表示形式 >> 数字 >> パーセント
あるいは「表示形式をパーセントに設定」

を使ってしまったんですね。
そしたら100%のはずが、いきなり

10000.00%

とか100倍になって表示されるんですよ(笑)
で、その解決方法です。

表示形式をカスタム数値形式で指定する

まずはメニューから、以下の通りに進みます。

表示形式 >> 数字 >> 表示形式の詳細設定 >> カスタム数値形式

Google スプレッドシート 表示形式変更

そしたら、「%」を「”」(ダブルクォーテーション)で囲ってあげて、

0″%”

と書いて摘要を押します。

Google スプレッドシート カスタム数値形式

「”」(ダブルクォーテーション)で囲った部分が
単純に文字列(テキスト)として認識されるようになるんですね。

これで無事100%が100%で表示されました。

Tips2 文字列から数値だけを抽出して計算に使えるようにする

はい、引き続きサプリメントの比較表を作ってるときのことです。

1回3錠服用のサプリの1錠あたりの成分量を出すために
割り算をしたくなったわけですが、
成分表をコピペしたときに「IU」とか「mg」とかの単位も一緒に
くっついてくるわけですね。

で、何十件もいちいち

「15,000 IU だから15,000÷3は5,000で……」

とか手入力したくないわけですよ。
表計算ソフト使ってるのに、わざわざ。

となったら「15,000 IU」とか「300 mg」とセルに入力されてる中から
「15,000」と「300」だけ抽出したい。

調べたらできましたよ( ´艸`)
結論から言えば、以下の式で式でできます。

=VALUE(REGEXEXTRACT(対象のセル番地,”[0123456789,-]{1,}”))
※「対象のセル番地」には B2 とか D6 とか指定してください。

リンク Google スプレッドシートで文字列から数値だけを抽出する : REGEXEXTRACT – 役に立ちそうで役に立たないブログ

Excel だけでなく、Google スプレッドシートでも
VALUE 関数使えるんですねぇ。

今回の場合は、こんな風に使いました。

Google スプレッドシート VALUE REGEXEXTRACT関数

B4列にある「15,000 IU」から数字部分の15,000を抽出し、
VALUE 関数で数値化したのち3で割って答えを表示、です。

いやー、いちいち割り算した結果を貼り付けるという
馬鹿らしい事態に陥らないで、本当に良かったです。

特に文字列から数字を抽出して計算できるようにする方法は
便利ですので、ぜひ使ってみてくださいね。

Digiprove sealCopyright protected by Digiprove © 2019

コメント