【エクセル】文字列なのに計算できちゃう怪!
おはようございます。こんにちは。いたをです。
今日も夏休みの自由研究テイストの内容でお送りしたいと思います。
エクセルで入力されるデータは基本「文字列」か「数値」のどちらかです。
数値でしたら計算も可能なことは解りますよね。
文字列を計算しようとすると「#VALUE!」と表示されエラーとなります。そりゃそうですよね。
以前もエラーメッセージについてはご紹介しました。
さて、自分で入力している時に文字列と数値を間違えることはありませんが、たまにテキストデータなどで受け取ったデータをエクセルに貼り付けると、数値のつもりが文字列になってしまったということがあります。
セルの左上隅に小さな緑色の三角形が付いていますよね。「エラーインジケータ」といって数値が文字列として扱われていますよ(保存されていますよ)という意味です。
これも以前の記事でご紹介していましたね。
それでは、そのまま数量の列に値を入れて金額を計算してみましょう。
おやおや~、単価の列は文字列の数値なのに計算(掛け算)が出来てしまいました!、「文字列型」の数値は計算対象として扱われるよう!?です。
これだと、単価の列をセルの書式設定で「右揃え」にでもしてしまえば、左上の緑の三角帽は目ざわりだけど、計算できるのならいいか~、となってしまいそうですね。
でも、ちょっとまってください!
「文字列型」を計算したらエラーになったり、ならなかったり・・・
なんかどっちが正しいの???ってことになりませんか?
それでは!ということで、ひとつここは実験してみましょう!
それぞれ10、20、30、40、50の「文字列型」数値を用意して、
① セルを足し算(加算)していく方法
② SUM関数を用いて足し算する方法
③ 平均値
の3つを試してみます。さて、結果はいかに・・・。
なんと、セルを足し合わせていく計算式をたてるとちゃんと150という正しい答えが表示されましたが、SUM関数では0と表示されています。
また、平均をAVERAGE関数を使って計算したところは、「#DIV/0!」と表示され「0で割っていますよ~」エラーになっています。
どうも関数で計算をしようとすると、「文字列型」数値は「文字列」としての扱いを受けてしまうようです。
一応四則演算で平均値を出してみましょうね。
今度はちゃんと平均値を計算できました!
他の関数ではどうなるのでしょうか?
[数式]バーの[関数ライブラリ]グループにある「オートSUM」ボタン(「オートSUM」ボタンは、[ホーム]タブの[編集]グループにもあります!)の中から「個数」「最大値」「最小値」を求める関数を使って計算させてみます。
すべて「0」表示ですね。計算できません!
次に、四捨五入をする「ROUND」関数(今回は小数第2位で四捨五入させています)と、整数値を求める「INT」関数を「文字列型」の数値にあててみます。
今度はちゃんと値が出ていますね。関数が使えるようです。
ただ、値の表示をよく見てみると、左揃えになっていますね。どうやら「文字列型」の数値になっているようです。
---------------- 結論 ----------------
文字列型の数値は、
四則演算(加減乗除)を使うと計算できる。
関数を用いての計算は、できるものと
できないものがある。
できるできないの基準はよくわからない。
------------------------------------------
うーん。なんだかスッキリしないなぁ(笑)。
でも、夏休みの自由研究としてはいい感じに仕上がったのではないでしょうか(もう少し考察と実験が必要かな?)
皆様も、よかったらできるできないの基準とやらを探してみてくださいませ。
それではまた。
▶ これまでのエクセル記事をまとめました。
サイトマップはこちらからどうぞ
***